CSS定位+装饰

178 阅读6分钟

定位的常见应用场景

  • 1、解决盒子与盒子之间的层叠问题

    • 子绝父相
  • 2、让盒子固定在页面中的某个位置

    • 固定定位

相对定位、绝对定位、固定定位的特点

  • 相对定位

    • 1、需要配合方位属性实现移动
    • 2、相对于自己原来的位置进行移动
    • 3、占位置
  • 绝对定位

    • 1、需要配合方位属性实现移动

    • 2、分情况

      • 1、如果祖先元素中没有定位的元素,此时默认相对于浏览器的可视区域进行移动
      • 2、如果祖先元素中有定位的元素,此时相对于最近的有定位的祖先元素进行移动
    • 3、不占位置

      • 已经脱标了

        • 脱标之后的元素宽高默认由内容撑开了
  • 固定定位

    • 1、需要配合方位属性实现移动

    • 2、相对于浏览器的可视区域进行移动

    • 3、不占位置

      • 已经脱标了

        • 脱标之后的元素宽高默认由内容撑开

相对定位元素是否还占位置,会相对于谁偏移

  • 占位置
  • 相对于自己原来的位置

绝对定位元素是否还占位置,会相对于谁偏移

  • 不占位置

  • 分情况

    • 1、如果祖先元素中没有定位的元素,此时默认相对于浏览器的可视区域进行移动
    • 2、如果祖先元素中有定位的元素,此时相对于最近的有定位的祖先元素进行移动

固定定位元素是否还占位置,会相对于谁偏移

  • 不占位置
  • 相对于浏览器的可视区域

子绝父相的含义

  • 子绝

    • 子元素绝对定位
  • 父相

    • 父元素相对定位

写出定位让盒子水平垂直都居中的代码

  • 1、子绝父相
  • 2、left:50%
  • 3、top:50%
  • 4、transform:translate(-50%,-50%)

设置定位元素的层级

  • 属性名

    • z-index
  • 属性值

    • 数字,数字越大,层级越高
  • 注意点

    • z-index只能设置定位元素的层级!!

常见光标样式

  • 属性名

    • cursor
  • 属性值

    • 默认的箭头

      • default
    • 小手

      • pointer
    • 工字型

      • text
    • 十字光标

      • move

边框圆角的代码

  • 属性名

    • border-radius
  • 属性值

    • 数字+px
  • 赋值规则

    • 先从左上开始赋值,然后顺时针赋值,如果没有赋值的?看对角

写出正圆和胶囊按钮

  • 正圆

    • 1、盒子要是正方形
    • 2、border-radius:50%
  • 胶囊按钮

    • 1、盒子要是长方形
    • 2、border-radius:盒子高度的一半

    设置元素的显示和隐藏

  • 元素隐藏

    • display:none
  • 元素显示

    • display:block

display:none和visibility:hidden的区别

  • display:none

    • 元素隐藏之后不占位置
  • visibility:hidden

    • 元素隐藏之后占位置

定位

  • 属性名

    • position
  • 属性值

    • 1、静态定位

      • static

      • 标准流中的元素默认就是静态定位

      • 注意点

        • 1、不能配合方位属性实现移动
        • 2、之后说的定位,一般指的是:相对、绝对、固定
    • 2、相对定位

      • relative

      • 特点

        • 1、需要配合方位属性实现移动

        • 2、相对于自己原来的位置进行移动

        • 3、还占位置

          • 没有脱标
    • 3、绝对定位

      • absolute

      • 特点

        • 1、需要配合方位属性实现移动

        • 2、分情况

          • 1、如果祖先元素中没有定位的元素

            • 此时相对于浏览器可视区进行移动
          • 2、如果祖先元素中有定位的元素

            • 此时相对于最近的有定位的祖先元素进行移动
        • 3、不占位置

          • 已经脱标了

            • 脱标之后的元素,宽度默认由内容撑开
    • 4、固定定位

      • fixed

      • 特点

        • 1、需要配合方位属性实现移动

        • 2、永远相对于浏览器进行移动

        • 3、不占位置

          • 已经脱标了

            • 脱标之后的元素,宽度默认由内容撑开
  • 应用场景

    • 子绝父相

      • 子元素绝对定位
      • 父元素相对定位
      • 场景:让子元素相对于父元素进行定位移动
    • 水平居中

      • 1、子绝父相

      • 2、给子元素设置

        • left:50%
        • transform:translateX(-50%)
    • 水平垂直都居中

      • 1、子绝父相

      • 2、给子元素设置

        • left:50%
        • top:50%
        • transform:translate(-50%,-50%)
  • 元素的层级关系

    • 标准流<浮动<定位

    • 三种定位之间的层级默认是相同,在html结构中写在下面的,层级更高

    • z-index

      • 作用

        • 设置定位元素的层级!!!!!!!
      • 取值

        • 数字

          • 数字越大,层级越高

装饰

  • 垂直对齐方式

    • 属性名

      • vertical-align
    • 属性值

      • baseline

        • 基线对齐
      • top

        • 顶部对齐
      • middle

        • 中部对齐
      • bottom

        • 底部对齐
    • 注意点

      • 给行内元素或者行内块元素设置

        • 优先给img标签设置
  • 光标类型

    • 属性名

      • cursor
    • 属性值

      • default

        • 默认箭头
      • pointer

        • 小手
        • 提示:用户可以点击
      • text

        • 工字型
        • 提示:用于选择文本
      • move

        • 十字光标
        • 提示:用户可以拖拽
  • 边框圆角

    • border-radius

    • 取值

      • 一个值

        • 左上右上右下左下
      • 两个值

        • 左上右下
        • 右上左下
      • 三个值

        • 左上
        • 右上左下
        • 右下
      • 四个值

        • 左上
        • 右上
        • 右下
        • 左下
      • 记忆规则:

        • 先从左上开始赋值,然后顺时针赋值,如果没有赋值的??看对角的!!!
    • 应用

      • 画一个圆

        • 1、盒子的正方形
        • 2、border-radius:50%;
      • 画一个胶囊按钮

        • 1、盒子是长方形
        • 2、border-radius:高度的一半
  • overflow

    • 作用

      • 设置内容的超出部分的显示效果
    • 取值

      • visible

        • 超出部分可见
      • hidden

        • 超出部分隐藏
      • scroll

        • 显示滚动条
      • auto

        • 自动根据内容的多少显示或者隐藏滚动条
  • 元素本身隐藏属性

    • visibility:hidden

      • 当前元素隐藏

        • 还占位置

          • 穿上了隐身衣
    • display:none

      • 当前元素隐藏

        • 不占位置

          • 相当于干掉了
  • (拓展补充)元素整体透明度

    • opacity

    • 取值

      • 0~1

      • 0

        • 完全透明
      • 1

        • 完全不透明
    • 特殊情况

      • 当设置opacity:0时,此时元素完全透明,有元素隐藏的效果
  • (拓展补充)边框合并

    • border-collapse:collapse
    • 给table标签设置
  • (拓展补充)用css画三角形

选择器拓展

  • 伪类选择器

    • 链接伪类选择器

      • 选中的是标签的某种状态

      • E:link

        • a标签未访问过的状态
      • E:visited

        • a标签访问过之后的转态
      • E:hover

        • 鼠标悬停a标签的状态
      • E:active

        • 鼠标按下的状态
      • 注意点

        • 1、书写顺序

          • lvha
        • 2、hover用的最多,并且可以用在其他标签上

    • 焦点伪类选择器

      • E:focus
  • 属性选择器

    • E[attr] {}
    • E[attr='xxx'] {}