当前位置:首页 > web实践 > 正文内容

99乘法表梯形

唐朝2年前 (2024-03-17)web实践1569

在html用js输出99乘法表,并对9乘法表的样式进行美化。

99乘法表.png

一、js输出99乘法表

1、初始化HTML基础框架

使用!DOCTYPE html声明文档类型,并通过html:5的快捷代码创建HTML5的基础结构:

<!DOCTYPE html>
<html lang="zh-Hans">
<head>
    <meta charset="UTF-8">
    <title>99乘法表</title>
</head>
<body>

<!-- JavaScript 代码将插入此处 -->

</body>
</html>

2、设置语言和标题

将html里面的lang改成 zh-Hans 以表示简体中文。

将title标签内的文字更改为“99乘法表”。

3、在body内嵌入JavaScript代码块

创建一个<script>标签来包含JavaScript代码:

<script>
    // 99乘法表生成代码将写在这里
</script>

4、使用嵌套循环生成99乘法表

在JavaScript代码块中,使用嵌套循环实现99乘法表的纵向排列及乘法规则输出:

// 初始化循环,遍历1到9的数字,逐行生成乘法表
for(let i = 1; i <= 9; i++) {
    // 对于当前行数(i),在该行内遍历1到该行数
    for(let j = 1; j <= i; j++) {
        // 计算当前行列对应的乘积,并格式化为"iXj=i*j"的形式
        let str = `${i} X ${j} = ${i*j}`;
        // 将计算得到的乘积以适当的间距添加到页面中
        document.write(str + "&nbsp;&nbsp;");
    }
    // 当完成一行的乘法计算后,插入换行符以开始新的一行
    document.write("<br>");
}

上述代码首先遍历行数(i),然后对每一行遍历列数(j),计算并输出乘法公式。每次内层循环结束时,执行一次换行操作以达到垂直排列效果。

注:str用的是反引号(`)(位于键盘左上角区域,紧挨着数字1键,在1键的左边,它允许嵌入表达式。在${}内部可以放置任何有效的JavaScript表达式,它们会被解析并替换为对应的值

5、完成优化

整合以上步骤,完整的HTML文件如下:

<!DOCTYPE html>
<html lang="zh-Hans">
<head>
    <meta charset="UTF-8">
    <title>99乘法表</title>
</head>
<body>

<script>
  for(let i = 1; i <= 9; i++) {
      for(let j = 1; j <= i; j++) {
          let str = `${i} X ${j} = ${i * j}`;
          document.write(str + "&nbsp;&nbsp;");
      }
      document.write("<br>");
  }
</script>

</body>
</html>

效果演示

点击查看效果演示

二、99乘法表样式美化

1、居中

让99乘法表模块进行页面居中布局。

添加了一个.container类用于页面居中布局,并在循环外部包裹这个容器。

<body>
<div class="container">
    <script>
        // 99乘法表生成代码将写在这里
    </script>
</div>
</body>

添加css代码

/* 定义一个名为.container的类,用于包裹页面主体内容 */
.container {
    /* 设置该容器在非响应式设计下的宽度为1200像素 */
    width: 1200px;
    
    /* 使用自动外边距使容器在父元素中水平居中 */
    margin: auto;
    
    /* 当屏幕宽度小于或等于760像素时(响应式设计),应用以下样式 */
    @media(max-width: 760px) {
        /* 将容器宽度调整为100%,实现自适应布局,即宽度填充整个屏幕 */
        width: 100%;
    }
}

2、设置布局

对于每行的乘法公式我们用.row类包裹整个行,并在CSS中添加了相应的居中样式。但为了简化,这里并未直接展示 .row 类的样式,因为之前的 .container 类已实现居中功能。

js代码内添加div层。

for(let i = 1; i <= 9; i++) {
    document.write('<div class="row">');
    
    //for(let j = 1; j <= i; j++) {

    document.write('</div>');
}

3、设置内布局

在嵌套循环内部,每个乘法公式被封装在一个带有.item类的<div>中,并在CSS中设置了行内元素等分显示以及移动端响应式布局。


document.write('<div class="item">' + str + '</div>');

添加css属性

/* 定义行内元素等分显示(初始状态下分为9列) */
.item {
    width: calc(100% / 9); /* 设置元素宽度为父容器宽度的1/9,这里的calc()函数可以进行简单的计算 */
    display: inline-block; /* 将元素设置为内联块级元素,使其在行内显示并可设置宽高 */
    box-sizing: border-box; /* 定义元素的盒模型为边框盒子模型,即元素的总宽度 = border + padding + width */
    padding-right: 3px; /* 为元素右侧添加3像素的内边距 */
    padding-left: 3px; /* 为元素左侧添加3像素的内边距 */
    margin-bottom: 10px; /* 为元素底部添加10像素的外边距 */
}
/* 响应式设计:当屏幕宽度小于等于760px时,.item类的元素改为分为3列 */
@media(max-width: 760px){
    .item {
        width: calc(100% / 3);
    }
}

4、美化样式

最后,为每条乘法公式添加了.info类的<div>,并赋予了相应的美化样式,包括内边距、圆角、边框、鼠标悬停背景色等。

document.write('<div class="md-1-9 item"><div class="info">' + str+ '</div></div>');

添加css属性

/* 定义信息展示样式(包括内边距、圆角、边框和鼠标悬停效果) */
.info {
    padding: 10px; /* 为元素设置10像素的内边距(上、下、左、右四边均为10像素) */
    border-radius: 5px; /* 设置元素的边框圆角为5像素,使边角呈现圆形效果 */
    border: 1px solid #ddd; /* 为元素添加1像素宽度的实线边框,颜色为#ddd(浅灰色) */
    cursor: pointer; /* 将鼠标悬停在元素上时,光标形状更改为“指针”样式,暗示用户可以点击 */
    text-align: center; /* 让元素内部的文字内容水平居中对齐 */
}
        
/* 当鼠标悬停在.info类元素上时,背景变为浅灰色 */
.info:hover {
    background-color: #eee;
}

完整代码

如下

<!-- 定义HTML5文档类型 -->
<!DOCTYPE html>

<!-- 设置HTML文档语言为简体中文 -->
<html lang="zh-Hans">

<head>
    <!-- 设置字符集为UTF-8 -->
    <meta charset="UTF-8">
   
    <!-- 设置页面标题 -->
    <title>99乘法表美化版</title>
   
    <!-- 添加CSS样式表 -->
    <style>
        /* 使用.container类实现页面居中布局 */
        .container {
            width: 1200px;
            margin: auto;
            
            /* 响应式设计:当屏幕宽度小于等于760px时,容器宽度自适应为100% */
            @media(max-width: 760px){
                width: 100%;
            }
        }

        /* 定义行内元素等分显示(初始状态下分为9列) */
        .item {
            width: calc(100% / 9); /* 设置元素宽度为父容器宽度的1/9,这里的calc()函数可以进行简单的计算 */
            display: inline-block; /* 将元素设置为内联块级元素,使其在行内显示并可设置宽高 */
            box-sizing: border-box; /* 定义元素的盒模型为边框盒子模型,即元素的总宽度 = border + padding + width */
            padding-right: 3px; /* 为元素右侧添加3像素的内边距 */
            padding-left: 3px; /* 为元素左侧添加3像素的内边距 */
            margin-bottom: 10px; /* 为元素底部添加10像素的外边距 */
        }
        
        /* 响应式设计:当屏幕宽度小于等于760px时,.item类的元素改为分为3列 */
        @media(max-width: 760px){
            .item {
                width: calc(100% / 3);
            }
        }
        
        /* 定义信息展示样式(包括内边距、圆角、边框和鼠标悬停效果) */
        .info {
            padding: 10px; /* 为元素设置10像素的内边距(上、下、左、右四边均为10像素) */
            border-radius: 5px; /* 设置元素的边框圆角为5像素,使边角呈现圆形效果 */
            border: 1px solid #ddd; /* 为元素添加1像素宽度的实线边框,颜色为#ddd(浅灰色) */
            cursor: pointer; /* 将鼠标悬停在元素上时,光标形状更改为“指针”样式,暗示用户可以点击 */
            text-align: center; /* 让元素内部的文字内容水平居中对齐 */
            background: #22c2ff;
                        color: #fff;
        }
        
        /* 当鼠标悬停在.info类元素上时,背景变为浅灰色 */
        .info:hover {
            background-color: #eee;
        }
    </style>
</head>

<body>
    <!-- 创建一个包裹所有内容的div,并应用.container类以实现居中布局 -->
    <div class="container">
       
        <!-- JavaScript脚本部分,用于动态生成99乘法表 -->
        <script>
            // 遍历1到9,生成每一行的乘法表
            for(let i = 1; i <= 9; i++) {
                
                // 开始新的一行
                document.write('<div class="row">');
                
                // 在当前行内遍历1到i,生成每个乘法计算结果
                for(let j = 1; j <= i; j++) {
                    
                    // 计算并拼接成"iXj= i*j"格式的字符串
                    let str = `${i} X ${j} = ${i * j}`;
                    
                    // 将计算结果显示在一个具有.item和.info类的div中
                    document.write('<div class="item"><div class="info">' + str  + '</div></div>');
                }
                
                // 结束当前行
                document.write('</div>');
            }
        </script>
    </div>
</body>
</html>

效果演示

点击查看效果演示

    文档如有描述不清楚、错误或者过时的地方,欢迎留言指出。

    文档、教程内容会不定时更新,转载请标明原帖链接,以免让过时的教程流入网络。

    分享给朋友:

    “99乘法表梯形” 的相关文章

    固定导航(粘性导航、吸顶导航)

    固定导航,又称粘性导航或吸顶导航,是指网站中的主导航栏在用户滚动页面时,当导航栏到达屏幕顶部或者某个高度时,会自动固定在浏览器窗口的顶部位置,不再随页面内容一起滚动。目的实现固定导航(粘性导航)功能运用到的知识点1、滚动事件监听:使用window.addEventListener('scro...

    通过《通义灵码》生成想要的功能

    通过《通义灵码》生成想要的功能

    通义灵码(TONGYI Lingma)是一款强大的智能编码助手,能够帮助开发者在编写代码时提高效率和质量。要使用它来生成特定功能。我们来实现下下面的功能。功能:使用HTML5拖放API实现购物车拖放效果,如图所示:一、确认问题通义灵码目前是不支持发送图片的,我们需要把功能上没写,但图片上有的功能一并...

    后台地址与找回密码

    网站默认后台地址:域名/zb_system/login.php如何修改后台地址在应用中心下载并安装插件《后台快捷方式》,即可自定义后台地址。下次访问的时候直接使用自己的自定义地址即可找回密码下载重置文件《https://update.zblogcn.com/tools/nologin.zip》,解压...

    h5网站添加统计代码

    1、进入百度统计官方网站 https://tongji.baidu.com/2、登录账户3、在控制面板界面,点击《使用配置》4、在《使用配置》左侧导航的《网站列表》界面,点击《添加站点》5、输入以下信息网站域名: 格式 b9b31053.idc.wod.xyz网站首页:格式&nb...

    zblog搭建微信小程序

    zblog搭建微信小程序

    本教程适用于《zblog微信小程序1.1.8》版本。zblog微信小程序是基于zblog后端进行搭建的小程序,依赖zblog微信小程序插件,使用前请在应用商店下载安装zblog微信小程序插件。准备工作:1、确保自己的域名有正常开启https;2、自己的zblog网站后台有正常安装下载《zblog微信...

    虚拟主机安装zblog程序

    虚拟主机安装zblog程序

    本教程用于指导怎么通过虚拟主题全新安装一个zblogphp站点,数据库采用mysql。准备工作1、虚拟主机的程序语言是php,版本推荐选8.0以上版本,如没有8.0及其以上版本则选择当前最高的版本。2、虚拟主机有对应的mysql数据库信息。3、zblog的一键安装包。https://update.z...