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编辑

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

                  相关文章
                  |
                  18天前
                  |
                  搜索推荐 前端开发 UED
                  哪些 HTML 全局属性在 SEO 优化中比较重要?
                  【10月更文挑战第27天】这些HTML全局属性通过不同的方式为搜索引擎提供了更丰富、准确的页面信息,有助于提高页面的可索引性、相关性和用户体验,从而在SEO优化中发挥着重要的作用。开发者应充分重视并合理运用这些属性,以提升网站在搜索引擎中的排名和流量。
                  |
                  18天前
                  |
                  前端开发 搜索推荐 算法
                  |
                  18天前
                  |
                  前端开发 JavaScript 开发者
                  HTML 中的全局属性和局部属性是否可以相互覆盖?
                  【10月更文挑战第27天】HTML中的全局属性和局部属性在正常使用情况下不会相互覆盖,但在涉及CSS样式和JavaScript操作等特殊情况下,可能会出现类似覆盖的效果。开发者需要理解属性的功能、作用域和优先级,遵循最佳实践,以确保HTML文档的结构清晰、功能正常且易于维护。
                  |
                  18天前
                  |
                  存储 移动开发 前端开发
                  HTML全局属性
                  【10月更文挑战第27天】
                  |
                  26天前
                  HTML 属性参考手册
                  HTML属性参考手册提供了常用的HTML属性列表,包括`class`、`id`、`style`、`title`等,用于定义元素的样式、唯一标识、额外信息等。此外,还包括`href`、`src`、`alt`、`name`、`value`、`target`、`type`和`placeholder`等,分别用于链接、资源路径、替代文本、表单元素名称和值、链接打开方式、表单元素类型及占位符文本的定义。
                  |
                  1月前
                  |
                  XML JavaScript 数据格式
                  XML DOM 遍历节点树
                  XML DOM 遍历节点树
                  |
                  1月前
                  |
                  JavaScript
                  DOM 节点列表长度(Node List Length)
                  DOM 节点列表长度(Node List Length)
                  |
                  28天前
                  |
                  JavaScript
                  HTML DOM 节点树
                  HTML DOM 节点是指在 HTML 文档对象模型中,文档中的所有内容都被视为节点。整个文档是一个文档节点,每个 HTML 元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。DOM 将文档表示为节点树,节点之间有父子和同胞关系。
                  |
                  28天前
                  |
                  JavaScript
                  HTML DOM 节点
                  HTML DOM(文档对象模型)将HTML文档视为节点树,其中每个部分都是节点:文档本身是文档节点,HTML元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。节点间存在父子及同胞关系,形成层次结构。
                  |
                  1月前
                  |
                  XML JavaScript 数据格式
                  XML DOM 遍历节点树
                  XML DOM 遍历节点树

                  热门文章

                  最新文章

                  下一篇
                  无影云桌面