css定位-css新增选择器(内减,属性,伪类,2d变换,过渡)

目录

一、定位(重点)

1.静态定位

2.相对定位

3.绝对定位

4.固定定位

5.定位元素的层叠效果

二、css3和css2的区别

1.内减模式

2.新增属性选择器

3.新增伪类选择器

4. 2d变换效果

5.过渡效果


一、定位(重点)

定位的使用:

1.4种定位方式:静态、相对、绝对、固定

2.4种边偏移属性:left、right、top、bottom

注意:偏移值准确的理解是“距离什么位置有多少像素” 。 如 top:100px; 距离顶部为100像素 (向下走)

1.静态定位

所有标准流都是静态定位

语法:position:static

<head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
        .box{
            width:100px;
            height:100px;
            border:1px solid #000;
            position:static;/* 设置静态定位 */
            top:20px;/* 设置边偏移 */
        }
        .box1{
            width:200px;
            height:200px;
            background:#f00;
        }
    </style>
</head>
<body>
    <div class="box"></div>
    <div class="box1"></div>
</body>

总结:

1.工作中用的比较少,因为加了静态定位,元素也是标准流

2.偏移值对静态定位无效

使用场景:通常是将已经设置过定位的元素还原成标准流

我们以后所说的定位不包含静态定位

2.相对定位

相对于自身在标准流的位置进行定位移动

语法:position:relative

<head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
        .box{
            width:100px;
            height:100px;
            border:1px solid #000;
            position:relative;/* 设置相对定位 */
            top:20px;/* 设置边偏移 */
            left:30px;
        }
        .box1{
            width:200px;
            height:200px;
            background:#f00;
        }
    </style>
</head>
<body>
    <div class="box"></div>
    <div class="box1"></div>
</body>

总结:

1.相对定位参考自身在标准流中的位置进行偏移,移动的出发点是自身标准流的位置

2.不会对标准流的元素造成影响,没有脱离文档流,移动之后,自身在标准流中还占有空间,真正占得位置还是标准流的位置(灵魂不在 肉体永驻)

3.可以盖在标准流的上方

使用场景:微调元素和配合绝对定位来实现效果

3.绝对定位

从父元素一直往上找设置过定位的直系父元素,作为自己的偏移参照物,找不到就继续往上找,直到html停止

语法:position:absolute

<head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
        .box{
            width:100px;
            height:100px;
            border:1px solid #000;
            position:absolute;/* 设置绝对定位 */
            top:20px;/* 设置边偏移 */
            left:30px;
        }
        .box1{
            width:200px;
            height:200px;
            background:#f00;
        }
    </style>
</head>
<body>
    <div class="box"></div>
    <div class="box1"></div>
</body>

总结:

1.偏移位置参考设置过定位(相对/绝对/固定)的直系父元素或直系祖宗元素,没找到就一直往上级找,直到html

2.会脱离标准流,不再继承父级的宽度(不论是块元素还是行元素,盒子的大小取决于其中内容),可以定义宽高,不占据标准流的空间

3.margin:auto对于设置过绝对定位的元素不起作用

4.设置方向偏移的时候,横向或者纵向只设置一个即可,设置多个没有意义

使用场景:配合相对定位使用(一般都会配合相对定位,但不是绝对的都是相对定位)

父相子绝


案例:

1.让盒子水平垂直居中(水平居中,垂直也居中)

<head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
        .box{
            width:100px;
            height:100px;
            border:1px solid #000;
            position:absolute;/* 设置绝对定位 */
            top:50%;/* 设置上边偏移 */
            margin-left:-50px;/* 往左边移动自身宽度的一般 */
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值