前端学习06--浮动

文章介绍了CSS中的结构伪类选择器,如:first-child,:last-child等,用于根据元素在HTML结构中的位置进行选择和样式定义。接着讨论了伪元素,如::before和::after,以及它们在创建非主体内容时的作用。此外,文章还涵盖了标准流的概念,块级和行内元素的布局规则,以及浮动元素在网页布局中的应用。最后,文章详细阐述了如何清除浮动影响,包括不同方法的优缺点,如设置父级高度、额外标签法、伪元素清除法和overflow:hidden法。
摘要由CSDN通过智能技术生成

1结构伪类选择器

目标:能够使用结构伪类选择器在HTML中定位元素

1.1 作用与优势:

作用:根据元素在HTML中的结构关系查找元素
优势:减少对于HTML中类的依赖,有利于保持代码整洁
场景:常用于查找某父级选择器中的子元素

1.2 选择器

在这里插入图片描述
n的注意点:
1.n为0,1,2,3,4,5,6,7,…
2.通过n可以组成常见公式
在这里插入图片描述

    <style>
        li:first-child{
            background-color: aqua;
        }
        li:last-child{
            background-color:blueviolet ;
        }
        li:nth-child(3){
            background-color: brown;
        }
        :nth-last-child(2){
            background-color: coral;
        }
    </style>

2 伪元素

伪元素∶一般页面中的非主体内容可以使用伪元素
区别:
1.元素:HTML设置的标签
2.伪元素:由CSS模拟出的标签效果
种类:
在这里插入图片描述
注意点:
1.必须设置content
2.伪元素默认是行内元素,设置宽高不生效

.father{
            height: 300px;
            width: 300px;
            background-color: pink;
        }
        .father::before{
            content: '老鼠';
        }
        .father::after{
            content: '大米';
        }
<div class="father">爱</div>

3 标准流

标准流:又称文档流,是浏览器在渲染显示网页内容时默认采用的一套排版规则,规定了应该以何种方式排列元素
常贝标准流排版规则
1.块级元素:从上往下,垂直布局,独占一行
2.行内元素或行内块元素:从左往右,水平布局,空间不够自动折行

4 浮动

行内块问题:
浏览器解析行内块或行内标签的时候,如果标签换行书写会产生一个空格的距离

4.1 作用

网页布局

4.2 代码

        .one{
            background-color: pink;
            float: left;
        }
        .two{
            background-color: skyblue;
            float: left;
        }

4.3 特点

1.浮动元素会脱离标准流(简称:脱标),在标准流中不占位置,相当于从地面飘到了空中
2.浮动元素比标准流高半个级别,可以覆盖标准流中的元素
3.浮动找浮动,下一个浮动元素会在上一个浮动元素后面左右浮动
4.浮动标签顶对齐
5.浮动后的标签具有行内块的特点,宽高设置生效
6.浮动的元素不能通过text-align:center或者margin:0 auto水平居中
7.书写顺序:

  1. 浮动 / display
  2. 盒子模型: margin border padding 宽度高度背景色
  3. 文字样式
    8.父级宽度不够,子级自动换行

5 清除浮动

5.1 浮动

含义∶清除浮动带来的影响
影响:如果子元素浮动了,此时子元素不能撑开标准流的块级父元素
原因:
子元素浮动后脱标→不占位置

父级不方便加高度,子级浮动会影响布局

5.2 清除浮动的方法

5.2.1 父级高度设置法

父元素设置高度,从而不影响其他网页元素的布局

5.2.2 额外标签法

操作:
1.在父元素内容的最后添加一个块级元素
2.给添加的块级元素设置clear:both,清除左右两侧浮动的影响
特点:
缺点:会在页面中添加额外的标签,会让页面的HTML结构变得复杂

        .clearfix {
            /* 清除左右两侧浮动的影响 */
            clear: both;
        }
    <div class="top">
        <div class="left"></div>
        <div class="right"></div>
        <div class="clearfix"></div>
    </div>

5.2.3 单伪元素清除法

用伪元素替代额外标签
写法:

        .clearfix::after {
            content: '';
            /* 伪元素添加的标签是行内, 要求块 */
            display: block;
            clear: both;
            /* 为了兼容性 */
            height: 0;
            visibility: hidden;
        }
    <div class="top clearfix">
    	...
    </div>

5.2.4 双伪元素清除法

 		/*  .clearfix::before 作用: 解决外边距塌陷问题
            外边距塌陷: 父子标签, 都是块级, 子级加margin会影响父级的位置
        */
        /* 清除浮动 */
        .clearfix::before,
        .clearfix::after {
            content: '';
            display: table;
        }

        /* 真正清除浮动的标签 */
        .clearfix::after {
            /* content: '';
            display: table; */
            clear: both;
        }
    <!-- 父子级标签, 子级浮动, 父级没有高度, 后面的标准流盒子会受影响, 显示到上面的位置 -->
    <div class="top clearfix">
        <div class="left"></div>
        <div class="right"></div>
    </div>
    <div class="bottom"></div>

5.2.5 overflow:hidden

给父元素设置overflow:hidden

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值