HTML+CSS+JavaScript:一张九九乘法表的诞生过程

news/2024/11/23 9:37:49/

一、需求如图

 

二、思路及代码

1、JavaScript代码

稍微刷过一点算法题的小伙伴就很容易想到这题需要利用双层for循环来实现,思路也是比较简单的,我在这里就直接放代码了

不添加CSS渲染的代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>九九乘法表</title>
</head>
<body><script>for(let i=1;i<=10;i++){for(let j=1;j<=i;j++){document.write(`${j}x${i}=${i*j}&nbsp;&nbsp;&nbsp;`)}document.write('<br>')}</script>
</body>
</html>

浏览器预览效果

2、CSS美化

从上面的预览效果我们可以看到,只有JavaScript的代码在浏览器上看起来还是比较丑的,所以我们需要添加CSS代码去美化一下我们的九九乘法表

首先来说一个反面教材(嘻嘻,也就是作者自己)

看到九九乘法表的需求图之后,我的“心路历程”:emmm……黑色实线边框,排列这么整齐,一看就是表格table,还想难倒我

于是,我用表格table加的美化效果是这样的

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>九九乘法表</title><style>table{display: inline-block;border-collapse: collapse;}td{border: 1px solid black;padding: 3px 5px;height: 30px;width: 60px;}</style>
</head>
<body><script>for(let i=1;i<=10;i++){for(let j=1;j<=i;j++){document.write(`<table><tr><td>${j}x${i}=${i*j}</td></tr></table>`)}document.write('<br>')}</script>
</body>
</html>

浏览器预览起来是这样的

 讲真还不如不加美化效果……

后来,看了pink老师的代码之后,我恍然大悟:原来不是只有表格能拥有黑色实线边框,原来不是只有表格能拥有整齐的排列……

顿时觉得那13个小时的CSS都白学了,使用border不就轻轻松松给标签加上黑色实线边框吗?使用行内块元素不就轻轻松松让元素在一行整齐地排列吗?再加个宽高、居中什么的不就完美了吗?

于是,我改进了我的代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>九九乘法表</title><style>span{display: inline-block;border: 1px solid black;line-height: 30px;text-align: center;height: 30px;width: 90px;}</style>
</head>
<body><script>for(let i=1;i<=10;i++){for(let j=1;j<=i;j++){document.write(`<span>${j}x${i}=${i*j}</span>`)}document.write('<br>')}</script>
</body>
</html>

浏览器预览效果

 我一瞅:嗯效果不错,这下至少能看了

我本以为到这里就结束了,但没想到pink老师一波操作猛如虎,让这张九九乘法表更好看了,唉看来还是我CSS没学好,13个小时的课程不太够啊,一些样式我都没有接触过,比如添加阴影效果

话不多说,直接放进一步美化后的代码了

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>九九乘法表</title><style>span{display: inline-block;margin:2px;border: 1px solid black;line-height: 30px;text-align: center;height: 30px;width: 90px;border-radius: 5px;box-shadow: 2px 2px 2px #888;  /*添加阴影效果*/}</style>
</head>
<body><script>for(let i=1;i<=10;i++){for(let j=1;j<=i;j++){document.write(`<span>${j}x${i}=${i*j}</span>`)}document.write('<br>')}</script>
</body>
</html>

浏览器预览效果

 都写到这了,那就顺便再介绍一下CSS的box-shadow属性吧(其实我也是现学的哈哈)

三、box-shadow

作用:添加阴影效果

语法:
box-shadow: h-shadow v-shadow blur spread color inset;

 一个例子:

<!DOCTYPE html>
<html>
<head>
<style> 
div
{
width:300px;
height:100px;
background-color:#ff9900;
box-shadow: 10px 10px 10px #888888;
}
</style>
</head>
<body><div></div></body>
</html>

浏览器预览效果

 


http://www.ppmy.cn/news/875670.html

相关文章

【C语言】轻松模拟实现qsort函数

君兮_的个人主页 勤时当勉励 岁月不待人 C/C 游戏开发 Hello,米娜桑们&#xff0c;这里是君兮_&#xff0c;我们今天接着上回更新的内容&#xff0c;讲讲我们如何模拟实现自己的qsort函数&#xff0c; 废话不多说&#xff0c;我们开始今天的内容。 模拟实现qsort函数 qsort函…

lol走砍e源码_【精选】某LOL走砍E盾+VMP卡登陆解决办法

首先就是查壳了 图1 这一看是VMP壳,差点让我放出最强插件“回收站”了 首先第一步进入程序领空(由于所有人都知道,我就不解释了) 直接Ctrl+F搜索push 20(第一次没有搜到,就Ctrl+L查找下一个。登陆特征码) 图2 直接段首修改成mov eax,1 mov esp,ebp pop ebp retn如下图: 图3…

win10英雄联盟登陆服务器未响应怎么办,Win10系统中登陆LOL失败怎么办

导致最新版本的Windows10系统上无法正常启动运行LOL英雄联盟程序时的重要原因&#xff0c;是由于显卡驱动不兼容所造成的&#xff0c;当然也与Win10系统的版本相关。Win10系统中登陆LOL失败的解决方法其实很简单&#xff0c;下面由学习啦小编告诉你! Win10系统中登陆LOL失败的解…

lol微信登录服务器,LOL开启微信登录功能测试 绑定微信登陆方法一览

LOL开启微信登录功能测试 绑定微信登陆方法一览 2018-08-21 14:26:55来源&#xff1a;游戏下载编辑&#xff1a;十一的尾巴评论(0) 早前就有消息称LOL将开放微信登陆的功能&#xff0c;日前《英雄联盟》官网发布公告称&#xff0c;将在8.16版本发布后部分大区开启微信登陆的功能…

uboot、kernel启动过程分析

00、uboot的宏观启动 第1种&#xff1a;bootROM读取SPL到片内RAM&#xff0c;SPL初始化DDR&#xff0c;SPL把uboot程序copy到DDR&#xff0c;uboot启动进行必要外设初始化、自我拷贝、重定位等。 第2种&#xff1a;bootROM直接读取uboot的头部信息&#xff08;IVT、DCD&#xf…

MyBatis第四讲:MyBatis配置解析过程详解

MyBatis第四讲:MyBatis配置解析过程详解 通过上文我们知道MyBatis初始化过程中会解析配置,那具体是如何解析的呢?本文是MyBatis第四讲,对MyBatis配置解析过程详解 文章目录 MyBatis第四讲:MyBatis配置解析过程详解1、回顾上文配置解析方法2、配置文件元素元素1:propertie…

Python中退出While循环的三种方法举例

Python中退出While循环的三种方法举例 在Python学习及编程应用中&#xff0c;常会使用while循环&#xff0c;对while循环条件设置不当可能导致进入死循环&#xff0c;本文将举例说明三种退出while循环的方法。 1.直接使用input函数 利用input函数使得输入值传递到while之后的…

冰封王座人工只能_《冰封王座》地图:重装机兵MMR【V1.42回归版】

说明&#xff1a; 支持人数&#xff1a;1-6 地图简介: 游戏背景&#xff1a;人工智能的巅峰之作超级计算机诺亚有了生命所具备的意识后&#xff0c;经过了上兆亿次计算得出保护地球的唯一方法----那就是灭掉人类这种邪恶的猿猴。而这一切才刚刚开始。  V1.42版更新内容&#…