• 边框详讲---CSS必备的盒子模型知识!


    盒子模型

     
    盒子模型的四个部分:内容区、边框,内边距,外边距;前三者共同决定盒子可见框的大小。
     
    边框
     
    为元素设置边框
     
     
      .box1{
        
        100px;
        height:100px;
        background-color red;
        /*设置盒子内容区宽高及颜色。*/
         
        border-10px;
        border-color:yellow;
        border-style:solid;
        /*设置边框,三个样式缺一不可,缺了就直接不显示边框。*/
       }
     border-width
     
        使用border-width可以分别指定四个边框的宽度。
        
            指定四个值:按顺时针设置;
            
            指定三个值:分别设置给上 左右 下;
            
            指定两个值:分别设置给上下 左右;
            
            指定一个值:四边全为这个值。
            
            border-10px 20px 30px 40px;
            
            /*则上边框为10px,右边框为20px,以此类推*。/
            
            //方便起见,此规则自定义为“4321”。
      
      //题外话:如果你也知道3421...hhh
     
            
     border-color
        
        原理同4321有:
        
        border-color:red blue green;
        
        /*则上边框为红色,左右边框为蓝色,下边框为绿色。*/
     
     
     border-style
     
    使用border-style来设置边框样式。
     
        可选值: none  默认值,没有边框;
        
        ​        solid   实线;
        
        ​        dotted  点状;
        
                dashed  虚线;
        
                double  双线;
        
            border-style同4321有:
            
            border-style:solid dotted;``
            
            /*上下边框为实线,左右边框为点状。*/
     
        
    border   边框的简写形式
     
    通过它可设置四个边框的样式、宽度、颜色(顺序无要求)。
     
        boeder:red solid 10px;
        
        /*这对四个边起作用。*/
        
        
    border-top   border-bottom   border-right  border-left可单独用来设置四边。
     
    border:red solid 10px;
     
    border-top:yellow solid 20px;
     
    /*除了上边框为黄色实线20px,其余三边均为红色实线10px*。/
     
     
    border:red solid 10px;
     
    border-top:none;
     
    /*常用的去除不要的边的方法。*/
     
     
    内边距
     
    内边距指盒子的内容区与盒子边框之间的宽度。
     
    内边距会影响可见框的大小;
     
    元素的背景会延伸到内边距;
     
    ​    即如果给元素添加背景,背景会应用于内容和内边距组成的区域。
     
     
    可通过padding-top padding-bottom  padding-right  padding-left来单独设置四边之一。
     
     
    <style type="text/css">   
      .box1{
          100px;
          height:100px;
      }
      .box2{
          100%;     /*创建子元素box2来占满父元素box1的内容区,
          height:100%;    *注意:不占内边距*/
      }
    </style>
     
     
    外边距
     
    外边距指当前盒子与其他盒子之间的距离;
     
    不影响可见框的大小,但影响盒子的位置;
     
    有四个方向的外边距:margin-top  margin-bottom  margin-right  margin-left  ;
     
        设置上、左边距时,会改变盒子自身的位置;
        
        设置下、右边距时,则会改变其他盒子的位置;
        
     
    margin可设置auto;
     
      若只指定左/右外边距的margin为auto,
     
    ​       则会将外边距设置为最大值;
     
      若垂直方向设置为auto,则外边距默认为0;
     
    ​       即垂直方向的盒子会紧挨在一起。
     
      常用的使元素自动在父元素中居中的方法:
     
    ​       将left和right同时设置为auto。
     
     
    margin   外边距的简写形式
     
        同样符合“4321方向规则”
        
        margin: 0  auto;
        
        /*将上下外边距设置为0,将左右外边距设置为auto,即这也是居中的写法。*/
     
     
    垂直外边距的重叠
     
    在网页中垂直方向的相邻外边距会发生外边距的重叠。
     
    外边距的重叠指的是兄弟元素之间的相邻外边距会取最大值。
     
    ​     假设盒1和盒2为垂直方向的相邻兄弟元素,
     
    ​        a、给盒1设置底面外边距为100px,给盒2设置顶部外边距为100px。
     
    ​              那么两个盒子之间的效果还是100px。
     
    ​        b、把盒1设置底面外边距为100px,盒2的顶部外边距设置为200px,
     
    ​              那么两个盒子之间的距离就变成了200px(取最大值)。
     
     
     
    若父子元素的垂直外边距相邻了,则子元素的外边距会设置给父元素。
     
    ​       即给子元素设置上外边距为100px时,子元素和父元素保持相对位置一起下移100px。
     
    解决途径:
     
        法一:给父元素设置上边框,把父子隔开;
        
        法二:把父元素的内边距设置成 “能使子元素下移到你想要位置 ”的数值。
     
     
     
    常用去除浏览器默认样式的代码
     
        *{
        
            margin:0;
            
            padding:0;
        
        }
     
     内联元素的盒模型
     
        内联元素不能设置width和height;
        
        能设置水平方向的内边距,也能设置垂直方向的,
        
        但垂直方向的内边距不会影响页面的布局(不会挤掉,而是覆盖);
        
        能设置边框,水平、垂直效果同“内边距”;
        
        支持水平方向的外边距,不支持垂直方向的。
        
     
    display
     
    可通过display样式来修改,将一个内联元素转化为块元素。
     
    ​   可选值:inline  将一个元素作为内敛元素显示;
     
    ​            block   将一个元素作为块元素显示;
     
    ​            inline-block  将一个元素转化为内联元素,使其既有内联元素的特点又有块元素的特点;
     
    ​                             既可设置宽高,又不会独占一行。【典型:image】
     
    ​            none:不显示元素,且元素在页面中也不会继续占有位置。
     
     
    visibility
     
    通过visibility来设置元素的隐藏和显示的状态。
     
    ​   可选值:visible  默认值,元素默认在页面显示;
     
    ​              hidden 元素会隐藏,但在页面中继续占有位置(显示空白)。
     
     
    overflow
     
    父元素默认将溢出内容在父元素外显示。
     
    通过overflow可设置父元素如何处理溢出内容。
     
    ​   可选值:visible 默认值  不对一处内容处理;
     
    ​             hidden  溢出内容会被修剪,即不显示;
     
    ​             scroll   为父元素添加滚动条,通过滚动条可查看完整内容,
     
    ​                         该属性不管内容个是否溢出,都会添加水平和垂直方向的滚动条;
     
                 auto     会根据需求自动添加滚动条。
     
  • 相关阅读:
    组合模式及C++实现
    YUV422(UYVY)转RGB565源代码及其讲解.md
    会用errno,事半功倍
    可变参数宏
    camera理论基础和工作原理
    !!!??? 2.3 核心模块与应用程序的对比
    KVM与VMware的性能比较
    单片机中定时器与计数器的区别
    编译器对变量的内存分配方式
    【转载】Modelsim 与Vivado联合仿真版本对应问题
  • 原文地址:https://www.cnblogs.com/qianduanlaoniao/p/12439413.html
Copyright © 2020-2023  润新知