浮动,定位,伪类,伪元素

浮动,定位,伪类,伪元素

目录

一、传统网页布局的三种方式

1. 标准流(普通流/文档流)
2. 浮动
3. 定位

二、伪类
1. 定义
2. 语法
3. 分类
4. 注意

三、伪元素
1. 定义
2. 语法
3.选择器

一、传统网页布局的三种方式

1. 标准流(普通流/文档流)
1)定义:就是标签按照规定好的默认方式排列 2)默认排列:

  a.块级元素会独占一行,从上到下排列;
在这里插入图片描述

  b.行内元素会按照顺序,从左到右排列,碰到父元素边缘会自动换行。
在这里插入图片描述

2.浮动
1)定义:

  float属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含块或另一浮动框的边缘。

2)语法:
  
选择器 {float: 属性值;}

3)属性取值:

属性值描述
none元素不浮动
left元素向左浮动
right元素向右浮动
inherit元素会继承父级的float值
4)特点:

  a. 浮动元素会脱离标准流的控制(浮)移动到指定位置(动)【脱标】,浮动的盒子不再保留原先的位置;
  b. 浮动的元素会在一行内显示并且顶部对齐(浮动的元素相互紧贴,不会有缝隙,如果腹肌宽度装不下这些盒子,多出的盒子会另起一行)。
  c. 任何元素都可以浮动,浮动的元素具有行内块元素的特性。

5)清除浮动:
  a. 清除浮动须满足的条件:父盒子没有高度对后面的标准流布局有影响
  b. 语法:选择器 { clear: 属性值;}
  c. 属性取值:

属性值描述
none允许两侧都有浮动元素
left左侧不允许浮动
right右侧不允许浮动
both两侧都不允许浮动
inherit元素会继承父级的clear值
   d.清除浮动的方法:

    在这里插入图片描述

    • 额外标签法(隔墙法)
    •   在浮动元素末尾添加一个空的标签 (必须是块级元素)

      在这里插入图片描述

         添加一个标签后
      在这里插入图片描述

    • 父级添加overflow属性

    •    overflow的属性值:

      属性值描述
      hidden
      auto如果一个元素比包含它的元素高,并且它是浮动的,它将“溢出”到其容器之外:然后我们可以向包含元素添加 overflow: auto;
      scroll
        如图:

      在这里插入图片描述

    • 父级添加:after伪元素

    •   如图:
      在这里插入图片描述
    • 父级添加双伪元素

    •   如图:
      在这里插入图片描述

      3.定位
      1)定义:

        可以让盒子自由地在某个盒子内自由的移动位置或固定屏幕中某个位置,并且可以压住其他盒子。

      2)定位组成:
        a. 定位模式
         决定元素的定位方式,通过用position属性设置。

      属性值描述
      static静态定位
      relative相对定位
      absolute绝对定位
      fixed固定定位
         b. 边偏移
      属性值示例描述
      toptop:80px;顶端偏移量,定义元素相对于其父元素上边80px的距离
      bottombottom:80px;底端偏移量,定义元素相对于其父元素下边80px的距离
      leftleft:80px;左端偏移量,定义元素相对于其父元素左边80px的距离
      rightright:80px;右端偏移量,定义元素相对于其父元素右边80px的距离
         c. 总结:
      定位模式是否脱标移动位置是否常用
      static静态定位不能使用边偏移很少
      relative相对定位否(占有位置)相对于自身位置偏移常用
      absolute绝对定位是(不占有位置)带有定位的父级常用
      fixed固定定位是(占有位置)浏览器可视区常用
      sticky粘性定位否(不占有位置)浏览器可视区当前阶段少

        · relative相对定位:

          元素移动位置时,相对于自身原来的位置移动的

      例如:在这里插入图片描述
      显示如下:
      在这里插入图片描述

        · absolute绝对定位:

          没有祖先元素或者祖先元素没有定位时,以浏览器为准定位。

      例如:

      在这里插入图片描述

      显示如下:
      在这里插入图片描述

          如果祖先元素有定位(相对,绝对,固定定位),则以最近一级有定位的祖先元素为参考点移动位置。

      例如:
      在这里插入图片描述
      显示如下:
      在这里插入图片描述
        · fixed固定定位:

          固定于浏览器可视区的位置,不会随着浏览页面滚动而滚动。

      例如:
      在这里插入图片描述

      3)叠放次序:

        · 在使用定位布局是,可能会出现盒子重叠的情况,应使用z-index来控制盒子的前后次序。
        · 语法:选择器 {z-index: 数值(默认auto);}

         a. 数值为正时:

      在这里插入图片描述
         显示如下:
      在这里插入图片描述
         b. 数值为负时:

      在这里插入图片描述
         显示如下:
      在这里插入图片描述

      二、伪类

      1.定义:
       伪类用于定义元素的特殊状态,主要是对元素的整体状态进行设置。【在a标签(超链接)里应用的比较多】
      2.语法:
        selector:pseudo-class { property: value;}
      3.分类:
      • 1)状态伪类:
        • :link 设置元素未被选中时的状态 :visited 设置元素已经点击过的状态;
        • :hover 设置元素有鼠标悬停(鼠标放在此元素上面,但未点击)时的状态(除了a标签可以设置在很多的标签选择器之上);
        • :active 设置鼠标点击的瞬间,但鼠标还没松开时的状态;
        • :focus 设置此元素获得焦点时的状态,如输入框被鼠标点击选中的状态 。
      • 2)结构性伪类:
        • :first-child 父元素下的第一个子元素如果刚好是指定元素,则进行设置;
        • :last-child 父元素下的最后一个子元素如果刚好是指定元素,则进行设置;
        • :first-of-type 设置父元素下的第一个指定元素;
        • :last-of-type 设置父元素下的最后一个指定元素;
        • :nth-child(number) 父元素下的第number个子元素如果刚好是指定元素,则进行设置;
        • :nth-last-child(number) 从最后开始数,父元素下的第number个子元素如果刚好是指定元素,则进行设置;
        • nth-of-type(number) 设置父元素下的第number个指定元素;
        • nth-last-of-type(number) 从最后一个元素开始数,设置父元素下的第number个指定元素。
      4.注意:

      1)a:hover 必须在 CSS 定义中的 a:linka:visited 之后,才能生效!
      2)a:active 必须在 CSS 定义中的 a:hover 之后才能生效!
      3)伪类名称对大小写不敏感。
      例如:
      在这里插入图片描述

      三、伪元素

      1.定义:

       CSS 伪元素用于设置元素指定部分的样式。

      2.语法:

       selector:pseudo-element {property:value;}

      3.选择器:
      选择器例子例子描述
      ::afterp::after在每个

      元素之后插入内容。

      ::beforep::before在每个

      元素之前插入内容。

      ::first-letterp::first-letter选择每个

      元素的首字母。

      ::first-linep::first-line选择每个

      元素的首行。

      ::selection p::selection 选择用户选择的元素部分

      1)::first-line
      用于向文本的首行设置特殊样式(只能用于块级元素)

      2)::first-letter
      用于向文本的首字母设置特殊样式,不过这个主要运用于段落排版上多,比如说首字下沉。

      3)::before
      可以在元素的内容前面插入新内容,一般配合“content”使用。

      例如:

      在这里插入图片描述
      在这里插入图片描述
      效果图如下:

      在这里插入图片描述
      4)::after
      可以在元素的内容之后插入新内容。实现方式与“::before”相似。

      5)::selection
      可以用来改变浏览网页选中文的默认效果。

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值