【前端知识点总结】CSS 基础四

定位 position

特点 : 特殊位置,压住(压住其他元素(层叠到其他元素上)浮动和标准流解决不了的位置)

静态定位

position: static; :(元素默认的定位方式)标准流不会动

相对定位 position: relative; (缩写 por)

  1. 相对定位元素不脱标,还占据原来位置
  2. 位置偏移参考自身位置

绝对定位 position: absolute; (缩写 poa)

  1. 绝对定位元素脱标,不占据原来位置
  2. 绝对定位元素如果父元素没有定位,位置偏移参考浏览器
  3. 绝对定位元素如果父元素有定位,位置偏移参考离他最近的使用定位的父元素

固定定位 position: fixed; (缩写 pof)

把盒子固定在页面的某个位置,不会随滚动条滚动。配合方位名词移动 left right top bottom

  1. 固定定位的元素脱标,不占据原来位置
  2. 位置偏移参考浏览器可视窗口

子绝父相(实际开发中常用)

子元素绝对定位,父元素相对定位,子元素位置偏移参考父元素

<head>
    <style>
        .baba {
            position: relative;
            width: 800px;
            height: 300px;
            background-color: #ccc;
        }
        .son {
            position: absolute;
            right: 0;
            top: 100px;
            width: 100px;
            height: 100px;
            background-color: red;
        }
    </style>
</head>
<body>
    <div class="baba">
        <div class="son"></div>
    </div>
</body>

绝对定位的盒子居中方法

方法1 :

<head>
    <style>
        .baba {
            position: relative;
            width: 600px;
            height: 400px;
            background-color: #ccc;
        }
        .erzi {
            position: absolute;
            /* 向右走父元素宽度的一半 */
            left: 50%;
            /* 向左走子元素自身宽度的一半 */
            margin-left: -75px;
            /* 向下走父元素高度的一半 */
            top: 50%;
            /* 向上走子元素自身高度的一半 */
            margin-top: -75px;
            width: 150px;
            height: 150px;
            background-color: red;
            /* margin: 0 auto; 只对标准流里边块元素水平居中有效 */
            /* margin: 0 auto; */
        }
    </style>
</head>
<body>
    <div class="baba">
        <div class="erzi"></div>
    </div>
</body>

方法 2 :
left:0; right:0; top:0; bottom:0; margin:auto;

<head>
    <style>
        .baba {
            position: relative;
            width: 600px;
            height: 400px;
            background-color: #ccc;
        }
        .erzi {
            position: absolute;
            /* 这个方法子元素必须设置宽高 */
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            margin: auto;
            width: 150px;
            height: 150px;
            background-color: red;
        }
    </style>
</head>
<body>
    <div class="baba">
        <div class="erzi"></div>
    </div>
</body>

注意 : 这个方法子元素必须设置宽高

鼠标形态 cursor

  • cursor: default; 默认状态 小白
  • cursor: pointer; 小手
  • cursor: move; 移动
  • cursor: help; 帮助
  • cursor: not-allowed; 禁止
  • cursor: crosshair; 十字
  • cursor: text; 文本

元素的层级关系

标准流 < 浮动 < 定位

定位元素的层级关系

标签越靠后,层级越靠上

z-index:值; 默认值为auto=0 ,值越大越靠上

z-index用来调整定位(相对,绝对,固定)元素层叠顺序,值越大,层叠顺序越靠上,可以为负值

脱标元素(浮动 绝对定位 固定定位)的特点

浮动脱标和定位脱标的相同点

  1. 块元素脱标之后不会默认父元素宽度,默认宽高为0,内容撑开宽高
  2. 行内元素脱标后可以设置宽高了
  3. 脱标的块元素使用margin:0 auto;无效. 脱标的行内内元素行内块元素给父元素使用tac居中无效

浮动脱标和定位脱标的区别

  1. 浮动压不住文字 行内元素 行内块元素,浮动最重要的特点是多个块元素同行显示
  2. 定位元素脱标可以压住任意标签,定位的作用是特殊位置压住

CSS 装饰属性

基线垂直对齐

vertical-align:值; 控制行内元素行内块元素垂直对齐 块元素无效

  • vertical-align:baseline;默认值 基线对齐
  • vertical-align:top;顶对齐
  • vertical-align:middle;垂直居中对齐
  • vertical-align:bottom;底对齐

行内元素、行内块元素垂直顶对齐方法

  1. 行内元素,行内块元素,垂直对齐使用vertical-align
  2. 行内元素,行内块元素垂直顶对齐,也可以使用浮动,因为浮动的元素顶对齐,代码换行没有缝隙

解决图片底部缝隙的问题方法

  1. 给图片设置 vertical-align 除了基线对齐以外所有的值
  2. 把图片转换为块元素

内容溢出处理 overflow : 值 ;

  • overflow :visible; 默认值 溢出可见
  • overflow :hidden; 溢出隐藏
  • overflow :scroll; 不管内容是否溢出都生成滚动条
  • overflow :auto; 内容溢出生成滚动条,不溢出不生成滚动条

元素的显示与隐藏

  • visibicity : hidden ; 隐藏后还占据原来位置
  • display : none ; 隐藏后不占据原来位置。display:block ; 显示隐藏元素(实际开发常用)

边框合并

border-collapse : collapse ; 表格边框合并,表格标签专有属性

精灵图的使用方法

把很多装饰类的小图放到一张大图上,作为背景使用,提升页面打开速度,减少请求次数,优化页面性能。

  • 测量需要局部大小,设置宽高
  • 测量图片的坐标值,设置为背景定位属性的负值
<head>
    <style>
        .box {
            /* 精灵图2步
            1.测量需要局部大小,设置为盒子的宽高
            2.测量局部坐标值,设置为背景定位负值
             */
            width: 24px;
            height: 24px;
            background: url(./images/index.png) no-repeat -157px -106px;
        }
        .abc {
            width: 13px;
            height: 8px;
            border: 1px solid #000;
            margin-top: 100px;
            background: url(./images/index.png) no-repeat -255px -27px;
        }
    </style>
</head>
<body>
    <!-- 精灵图是把很多装饰类的小图放到一张大图上,作为背景使用,提升页面打开速度,减少请求次数 -->
    <div class="box"></div>
    <div class="abc"></div>
</body>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疆子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值