HTML表单和CSS属性以及DOM实现网页版计算器

简介: 本文讲解:HTML表单和CSS属性以及DOM实现网页版计算器

 image.gif编辑

 

目录

1、效果展示

2、源码

2.1HTML+CSS源码

2.2JS源码

3、CSS属性

3.1width、height属性

3.2font-size属性

3.3margin属性

3.4padding属性

3.5background-color属性

3.6border属性

3.7border-radius属性

3.8text-align属性

4、DOM

4.1根据id获取元素

4.2根据name获取元素

4.3根据类名获取元素

4.4根据css选择器获取元素

image.gif编辑

1、效果展示

加法:image.gif编辑

减法:image.gif编辑

乘法:image.gif编辑

除法:

image.gif编辑 除数为0:

image.gif编辑


2、源码

2.1HTML+CSS源码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <script src="cal.js"></script>
    <style>
      * {
        margin: 0;
        padding: 0;
      }
      .cal {
        width: 400px;
        background-color: skyblue;
        margin: 50px auto;
        border-radius: 10px;
      }
      .cal h1 {
        background-color: rebeccapurple;
        height: 60px;
        line-height: 60px;
        border-radius: 10px 10px 0  0;
        text-align: center;
        color: azure;
      }
      .from-control {
        padding: 25px 50px;
      }
      .form-control label {
        text-align: right;
      }
      .form-control,input {
        padding: 5px 10px;
        height: 20px;
        border: 1px black;
        border-radius: 5px;
      }
      .form-control,button{
        width: 67px;
        height: 32px;
        font-size: 25px;
        border-radius: 5px;
        border: none;
        background-color: forestgreen;
      }
      .result {
        height: 25px;
        width: 200px;
      }
    </style>
  </head>
  <body>
    <div class="cal">
      <h1>COUNTER</h1>
      <div class="from-control">
        <label>NumberOne</label>
        <input type="text" id="num1"/>
      </div>
      <div class="from-control">
        <label>NumberTwo</label>
        <input type="text" id="num2"/>
      </div>
      <div class="from-control">
        <button id="plus">+</button>
        <button id="reduce">-</button>
        <button id="mul">*</button>
        <button id="dev">/</button>
      </div>
      <div class="from-control">
        <label >RESULT</label>
        <input type="text" class="result"/>
      </div>
    </div>
  </body>
</html>

image.gif


2.2JS源码

window.addEventListener('load',function(){
  document.querySelector('#plus').onclick = function() {
    cal('+');
  }
  document.querySelector('#reduce').onclick = function() {
    cal('-');
  }
  document.querySelector('#mul').onclick = function() {
    cal('*');
  }
  document.querySelector('#dev').onclick = function() {
    cal('/');
  }
  function cal(symbom) {
    let num1 = document.getElementById('num1').value;
    let num2 = document.getElementById('num2').value;
    let result = document.querySelector('.result');
    if(symbom == '/') {
      if(num2 == 0) {
        result.value = "除数不能为零";
      }else {
        result.value = num1 / num2;
      }
    }else {
      result.value = eval(num1 + symbom + num2);
    }
  }
})

image.gif


3、CSS属性

3.1width、height属性

width设置宽度,height设置高度。

<body>
    <input type="button" value="按钮"/>
  </body>

image.gif

原始的按钮大小:

image.gif编辑 经过width、height修饰后:

<style>
    #but{
      height: 60px;
      width: 100px;
    }
  </style>
  <body>
    <input type="button" value="按钮" id="but"/>
  </body>

image.gif

image.gif编辑


3.2font-size属性

font-size是设置字体大小大小的属性,它的常见单位为px。如,将一段话的字体设置为30px:

<style>
    .title {
      font-size: 30px;
    }
  </style>
  <body>
    <a class="title">这是一段话</a>
  </body>

image.gif

经过font-size修饰后:

image.gif编辑


3.3margin属性

margin属性是修饰边距的一个属性,margin拥有四个参数值。因此,有四种边距情况。

情况1

margin:10px,15px,20px,30px;

image.gif

    • 上外边距是 10px
    • 右外边距是 15px
    • 下外边距是 20px
    • 左外边距是 30px

    情况2

    margin:20px,30px,15px

    image.gif

      • 上外边距是 20px
      • 右外边距是 30px
      • 下外边距是 15px

      情况3

      margin:10px,20px

      image.gif

        • 上外边距是 10px
        • 右外边距是 20px

        情况4

        margin:50px

        image.gif

          • 四个边距都是 50px

          我们拿四个边距的情况来展示效果:

          <style>
              .ty {
                margin:50px ;
              }
            </style>
            <body>
              <div class="ty">
                <label>这是一个label:</label>
                <input type="text" />
              </div>
            </body>

          image.gif

          image.gif编辑


          3.4padding属性

          上面我们知道了margin是设置外边距的,那么内边距是由padding来修饰的,也是有四种情况:

          情况1

          padding:10px,5px,15px,20px;

          image.gif

            • 上内边距是 10px
            • 右内边距是 5px
            • 下内边距是 15px
            • 左内边距是 20px

            情况2

            padding:10px,5px,15px;

            image.gif

              • 上内边距是 10px
              • 右内边距和左内边距是 5px
              • 下内边距是 15px

              情况3

              padding:10px,5px;

              image.gif

                • 上内边距和下内边距是 10px
                • 右内边距和左内边距是 5px

                情况4

                padding:100px;

                image.gif

                  • 上、下、左、右内边距是 100px

                  我们情况4来举例:

                  <style>
                      .test {
                        padding: 50px;
                      }
                    </style>
                    <body>
                      <table border="1">
                        <tr><td class="test"></td></tr>
                      </table>
                    </body>

                  image.gif

                  效果显示:

                  image.gif编辑


                  3.5background-color属性

                  background-color属性实现的效果就是背景颜色,如将一段文本的背景颜色设置为天蓝色:

                  <style>
                      .title {
                        background-color: skyblue;
                      }
                    </style>
                    <body>
                      <a class="title">这是一段话</a>
                    </body>

                  image.gif

                  显示效果:

                  image.gif编辑


                  3.6border属性

                  border属性是修饰边框的一个属性,我们可以设置边框的大小以及边框的颜色。语法为:border: 大小 solid 颜色;如果我们只有大小没有solid值的话,默认颜色为黑色。

                  <style>
                      .ty {
                        border: 2px solid red;
                      }
                    </style>
                    <body>
                      <label>这是一个label:</label>
                      <input type="text" class="ty"/>
                    </body>

                  image.gif

                  image.gif编辑


                  3.7border-radius属性

                  border-radius属性是修饰边框的“圆润程度”也就是为元素添加圆角边框,语法为:border-radius: 大小;如将一个边框设置圆角边框为10px程度。

                  <style>
                      .ty {
                        border-radius: 10px;
                      }
                    </style>
                    <body>
                      <label>这是一个label:</label>
                      <input type="text" class="ty"/>
                    </body>

                  image.gif

                  效果显示:image.gif编辑


                  3.8text-align属性

                  text-align属性是用来规定文本对齐方式的,对齐方式有left左对齐、center居中对齐、right右对齐。其中left左对齐是默认的对齐方式。

                  居中对齐

                  <style>
                      .test {
                        text-align: center;
                      }
                    </style>
                    <body>
                      <h1 class="test">这是一个标题</h1>
                    </body>

                  image.gif

                  效果显示:

                  image.gif编辑

                  右对齐

                  <style>
                      .test {
                        text-align: right;
                      }
                    </style>
                    <body>
                      <h1 class="test">这是一个标题</h1>
                    </body>

                  image.gif

                  效果展示:image.gif编辑


                  4、DOM

                  4.1根据id获取元素

                  document.getElementById是根据id来获取元素的,如下代码展示:

                  <body>
                      <div>
                        <label>Number:</label>
                        <input type="text" id="num1"/>
                      </div>
                      <div>
                        <button id="but">按钮</button>
                      </div>
                      <script>
                        document.getElementById('but').onclick = function() {
                          let num = document.getElementById('num1').value;
                          console.log(num);
                        } 
                      </script>
                    </body>

                  image.gif

                  当我输入55后,再点击按钮控制台就输出了55:

                  image.gif编辑

                  因此,在上述代码中document.getElementById后面加上.onclick代表着点击这个按钮就做出相应的操作,加上.value代表着获取这个id所对应的值。


                  4.2根据name获取元素

                  document.getElementByName是根据name来获取元素

                  <body>
                      <p>请选择你的兴趣爱好(多选):</p>
                      <input type="checkbox" name="sports" value="拳击"/>拳击
                      <input type="checkbox" name="sports" value="柔术"/>柔术
                      <input type="checkbox" name="sports" value="摔跤"/>摔跤
                      <input type="checkbox" name="sports" value="散打"/>散打
                      <script>
                        var sports = document.getElementsByName('sports');
                        console.log(sports[0]);
                        console.log(sports[1]);
                      </script>
                    </body>

                  image.gif

                  上述代码中,我们通过document.getElementsByName('sports')获取到了拳击和柔术这两个表单元素:

                  image.gif编辑


                  4.3根据类名获取元素

                  document.getElementByClassName是根据class来获取元素

                  <body>
                      <div>
                        <p class="person1">阿珍</p>
                        <p class="person2">阿强</p>
                      </div>
                      <script>
                        let person1 = document.getElementsByClassName('person1');
                        console.log(person1[0]);
                      </script>
                    </body>

                  image.gif

                  image.gif编辑


                  4.4根据css选择器获取元素

                  document.querySelector是根据css选择器来获取元素的,如下方代码:

                  <body>
                      <div class="mma">拳击</div>
                      <div class="mma">柔术</div>
                      <div class="mma">摔跤</div>
                      <script>
                        //第一个div
                        let firstdiv = document.querySelector('.mma');
                        console.log(firstdiv);
                        //所有的div
                        let alldiv = document.querySelectorAll('.mma');
                        console.log(alldiv);
                      </script>
                    </body>

                  image.gif

                  image.gif编辑


                  本编博文主要是对HTML中表单以及CSS属性加上JS中的DOM的一些讲解,文章中详细讲解了各个知识点的实现效果及用法。大家下来了一定要自己尝试去敲代码,只有我们实现了一些页面才能很好的理解这个知识点以及怎样实现某个效果。文章有也多处知识点未实现页面效果大家也可以自行测试一番,感受一下这些知识点的实现效果,加油!

                  image.gif编辑

                  本期博客到这里就结束啦,感谢您的阅读。如有收获还请给博主点个小小的关注,咱们下期再见。

                  相关文章
                  |
                  2天前
                  |
                  定位技术
                  时尚的联系我们表单HTML模板(源码)
                  一款时尚的联系我们表单Html模板,带地图和所在位置,输入基本信息和信息发送,看起来很漂亮的联系我们页面。
                  11 1
                  时尚的联系我们表单HTML模板(源码)
                  |
                  1月前
                  |
                  前端开发 JavaScript 搜索推荐
                  打造个人博客网站:从零开始的HTML和CSS之旅
                  【9月更文挑战第32天】在这个数字化的时代,拥有一个个人博客不仅是展示自我的平台,也是技术交流的桥梁。本文将引导初学者理解并实现一个简单的个人博客网站的搭建,涵盖HTML的基础结构、CSS样式的美化技巧以及如何将两者结合来制作一个完整的网页。通过这篇文章,你将学会如何从零开始构建自己的网络空间,并在互联网世界留下你的足迹。
                  HTML 表单和输入5
                  复选框(Checkboxes)由 `&lt;input type=&quot;checkbox&quot;&gt;` 定义,允许用户选择一个或多个选项。
                  HTML 表单和输入2
                  HTML 表单是用于收集用户输入的区域,包含各种表单元素如文本域、下拉列表、单选框和复选框等。使用 `&lt;form&gt;` 标签创建表单,其中包含多个 `&lt;input&gt;` 元素来定义不同的输入类型。
                  HTML 表单和输入3
                  HTML 表单中的 `&lt;input&gt;` 标签是最常用的表单元素,其类型由 `type` 属性定义。常见的输入类型包括文本域(`&lt;input type=&quot;text&quot;&gt;`),用于用户在表单中输入字母和数字。
                  |
                  1天前
                  |
                  数据安全/隐私保护
                  HTML 表单和输入4
                  密码字段使用 `&lt;input type=&quot;password&quot;&gt;` 定义,输入的字符会被隐藏为星号或圆点。单选按钮使用 `&lt;input type=&quot;radio&quot;&gt;` 定义,用户只能选择一个选项。
                  |
                  6天前
                  |
                  JSON 移动开发 数据格式
                  html5+css3+js移动端带歌词音乐播放器代码
                  音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
                  42 6
                  |
                  2天前
                  |
                  数据安全/隐私保护
                  HTML 表单和输入1
                  HTML表单用于收集用户输入并提交至Web服务器。表单中包含多种输入元素,如文本框、密码框、单选按钮、复选框及下拉列表等。通过`&lt;form&gt;`标签定义表单,`action`属性指定提交目标URL,`method`属性定义提交方式(如POST)。示例展示了如何构建一个包含文本输入、密码输入、单选按钮、复选框和下拉列表的简单表单。
                  |
                  28天前
                  全局变量
                  【10月更文挑战第1天】全局变量。
                  41 4
                  |
                  5天前
                  |
                  前端开发
                  HTML 样式- CSS3
                  内部样式表适用于单个文件的特别样式,通过&lt;head&gt;部分的&lt;style&gt;标签定义;外部样式表适用于多个页面,通过&lt;link&gt;标签引用外部CSS文件;&lt;style&gt;定义样式,&lt;link&gt;引用资源;已弃用的标签有&lt;font&gt;、&lt;center&gt;、&lt;strike&gt;,属性有color和bgcolor。