zoukankan      html  css  js  c++  java
  • css之盒子模型

    css之盒子模型


    ####什么是盒子模型?

    网页中任何一个标签都可以看做一个盒子模型。而所有的盒子模型都存在五个必要的属性:width,height,padding,border,margin。可以用生活中常见的物体来想想一下:比如相框。

    可以想象一下:一面空白的墙上挂满了相框,这面墙相当于我们的网页。墙上的每一个相框就相当于是一个个html标签,也就是盒子模型。可以将相框和盒子模型一一类比一下:

    每个相框之间的距离即盒子模型的外边距----margin;

    相框的宽度就是盒子模型的边属性----border;

    照片距离边框的距离相当于盒子模型的内边距----padding

    照片的宽度--------width;

    照片的高度--------height。

    接着我们通过这五个必要属性来深入讨论一下盒子模型。

    盒子模型的五个必要属性

    1. width和height

      所谓的width和height指的是盒子模型中的内容的宽和高而不是指盒子模型的宽和高,当然也可以不设置width和height的值,那么会根据盒子中的内容来填充宽和高。

    2. padding

      • 当设置背景颜色的时候,padding区域也会存在背景颜色

      • 设置padding值的时候应该先设置大属性,后写小属性

          常见误区写法:padding-left:30px;
          		    padding:20px;
          正确写法:padding:20px;
          		 padding-left:30px;
        
      • 在使用css的时候,能够使用简写就使用简写

          即:padding:10px;(上下左右四个方向的padding全部都是10px)
          	padding:10px 20px;(上下为10px,左右为20px)
          	padding:10px 20px 30px;(上为10px ,右为20px,下为30px)
          	padding:10px 20px 30px 40px;(上为10px,右为20px,下为30px,左为40px)
        
    3. border

      • 三要素:粗细 border-width;线型 border-style;颜色 border-color

          如:border:1px solid red;
        
      • border值可以统一设置,也可以只设置某个边,border四个方向的设置:用top bottom left right

          如:统一设置:
          	border:1px solid red;
          	只设置某条边(设置上边框):
          	border-top:1px solid red;
          	只设置某条边的某个属性(设置下边框的颜色):
          	border-bottom-color:black;(即:border-方向-颜色;)
        

      将上边的属性合理运用就可以做出符合自己要求的盒子边框。

    4. margin

      • margin值的设置方式与padding相似。

      • 在使用margin时需要注意margin塌陷现象:

        • margin塌陷存在于块级元素之间
        • 如果元素变成了块内元素或者行内元素则不会塌陷
        • 如果元素脱离了标准文档流也不会塌陷
      • 通过margin可以使盒子居中:

          让盒子左右居中:margin:0 auto;
          使用此方法让盒子居中时要注意:
          1. 盒子必须有明确的width
          2. 盒子必须处于标准文档流中
          3. margin:0 auto;是让盒子居中,而不是让盒子里边的文字居中。如果想让文字居中可以使用text-align:center;
        

    小贴士:

    1. 如果想要移动子元素的的位置,非必要情况下推荐使用父元素的padding,而不是子元素的margin,如果必须使用margin,父元素就必须要有border。

    2. border-style属性的一些常用值(详见border-style属性):

       none:定义无边框
       hidden:与“none”相同。但是用于表时,hidden用于解决边框冲突
       dotted:定义点状边框,但是在大多数浏览器中成现为实现。
       dashed:定义虚线,同样在某些浏览器为实线		
       solid:定义实线
       double:定义双线,双线的宽度等于border-width的值
       inherit:规定从父元素继承边框样式
  • 相关阅读:
    win10 uwp 读取保存WriteableBitmap 、BitmapImage
    win10 uwp 读取保存WriteableBitmap 、BitmapImage
    win10 uwp 按下等待按钮
    win10 uwp 按下等待按钮
    win10 uwp 右击选择 GridViewItem
    win10 uwp 右击选择 GridViewItem
    PHP array_column() 函数
    PHP array_chunk() 函数
    PHP array_change_key_case() 函数
    PHP array() 函数
  • 原文地址:https://www.cnblogs.com/mumuhanyan/p/7110242.html
Copyright © 2011-2022 走看看