阅读 201

盒子模型、选择器补充以及float浮动基础讲解

补充一:大盒子和小盒子的兼容问题:


问题所在:在大盒子里面套一个小盒子,给小盒子设置内、外边距会影响外面的大盒子一起移动
解决方式:在css中给大盒子加上一个overflow属性(如下):

voerflow:hidden;/*超出内容截断*/复制代码

补充二:border-radius圆角设置

盒子圆角border-radius属性介绍:

border-radius:90px;/*复合属性四个角同时设置半径为90px*/
拓展为:
border-top-left-radius:90px;/*设置左上角半径弧度为90px*/
border-top-right-radius:90px;/*设置右上角半径弧度为90px*/
border-bottom-left:90px;/*设置左下角半径弧度为90px*/
border-bottom-right-radius:90px;/*设置右下角半径弧度为90px*/复制代码
注:radius的值可以用px或者%作为单位

补充三:标签选择器筛选

用img标签作示例:

1.png

              img[src]{            /*选中img中有src的属性*/
        width: 600px;
        height: 100px;
    }         img[src$=".jfif"]{   /*选中src属性下以.jfif结尾的img*/
        width: 500px;
        height: 100px;             
    }          img[alt^="图"]{     /*选中alt属性下以图作为开头的img*/
        width: 500px;
        height: 100px;
    }
               img[alt$="中"]{     /*选中alt属性下以中结尾的img*/
        width: 500px;
        height: 100px;
        } 
                img[alt*="加"] {   /*选中alt属性中有加的img*/
        width: 500px;
        height: 100px;
    }    
复制代码

 

补充四:选择器的后代元素和子元素

选自器后面用>表示子元素,用空格表示后代元素。例如:ul>li , ul li  
要设置同样的样式可以在两个选择器中间用逗号隔开例如:#box1,#box2
  用ul无序列表示例,为元素加一个红色边框:

2.png

        1.     .a>li{                     /* !! .a子集li */
        border: 1px solid red; 
        } 
        2.      .a li{                    /* !! .a后代li*/
        border: 1px solid red; 
        } 
        3.       .a>li:nth-child(2){      /* !!.a下第一个li下的li 同级 */
        border: 1px solid red; 
        }

        3.       .a>li li:first-child{    /* !!.a下第一个li的子集第一个li */
        border: 1px solid red;
        } 
      
        4.       .a li:first-child li{    /* !!.a下第一个li的所有子集li */
            border: 1px solid red; 
        } 
        4.       .a>li:not(:first-child){ /* !!.a子集下第一个li下所有同级*/
                border: 1px solid red;
        } 
复制代码

 


浮动float属性基础

为盒子设置一个float属性,会使盒子脱离标准布局流,它的弊端有:

   1.给父盒子造成了盒子塌陷
   2.使用display : inline-block;会产生一条缝隙复制代码

解决盒子塌陷的方法:

   1.给父盒子添加属性overflow:hidden 
   2.是给父盒子固定的高度,但是子盒子变多会溢出
   3.父盒子里面添加一个div,设置clear: both清除两边的浮动! 但是会多出一个div元素,显得多余
   4.为父盒子添加一个伪类:after{content=''; display:block; clear:both;}复制代码

float的常用值有: left  right; 清除浮动为clear: left right both(both用来清除左右浮动)

使用ul无序列表举例:

   li{
        float: left;/*向左浮动*/
    }复制代码

在网页中得到的结果如下图:

3.png

同理改成float:right; 得到的结果就会向右排成一排但是顺序与左边完全相反,如下图:

4.png


作者:Eɴᴅᴇᴅ
链接:https://juejin.cn/post/7034068766262722567

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐