CSS学习_05(零基础)

定位

   1.定位的作用

     如果我们想让两个标签叠在一起显示使用定位!!!标准流(无法实现快标签左右的问题) 浮动(无法实现标签的层叠问题)

   2.使用定位的步骤

     1.设置定位方式

       属性名position:static(静态定位) relative(相对定位) absolute(绝对定位) fixed(固定定位 ) 

     2.设置偏移值

       偏移值设置分别有两个方向,水平和垂直方向各选一个即可

       水平方向  left  数字+px  距离左边的距离

       水平方向  right 数字+px 距离右边的距离

       垂直方向  top   数字+px 距离上边的距离

       垂直方向  bottom 数字+px  距离下边的距离                                                       

3.对四种定位具体介绍

   1.静态定位:

         没写postion就是静态定位(原本的就是静态定位)

   2.相对定位

     特点:1.占有原来的位置  2.仍然具有原有标签的显示特点 3.改变的位置是参照自己原来的位置

注意:如果right和left,top和bottom都有.和顺序没关系.left和top生效,right和bottom不生效 

  3.绝对定位

     介绍:拼爹型定位,相对于非静态定位的父元素进行定位移动

          1.先找已经定位的父级,如果有这样的父级以这个父级为参照物进行定位 

          2.有父级,但父级没有定位,以浏览器窗口为参照物进行定位

          工作中一般的定位方式为:父为相对定位子为绝对定位 

     代码:postion:absolute;

     特点: 1.脱标 不占位

               2.改变标签的显示特点:变为:  行内块

               3.就近找定位的父级(广义)如果找不到,就是body也就是整个窗口

     案例:绝对定位的居中

       首先我们观察到使用绝对定位后盒子不能使用margin auto居中

       使用下面代码使盒子居中

left: 50%;
margin-left: -100px;
top: 50%;
margin-top: -100px;

    总结我们标准流使用:margin auto实现居中,绝对定位使用上面的方法(还可以使用 transform: translate(-50%, -50%);位移自己宽度高度的一半,可以自己试试)

   案例:定位二维码

 实例代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        li {

            list-style: none;

        }

        a {
            float: left;
            display: block;
            text-align: center;
            width: 120px;
            height: 50px;
            border: 1px solid black;
            line-height: 50px;
            background-color: pink;
            text-decoration: none;
            color: black;
        }

        ul li .app {
            position: relative;
        }

        ul li .app .code {
            position: absolute;
            left: 50%;
            top: 51px;
            transform: translate(-50%);
        }

        .wapper {
            width: 600px;
            margin: 0 auto;
        }

        .nav {
            height: 50px;
        }
    </style>
</head>

<body>
    <div class="nav wapper">
        <ul>
            <li><a href="#">平台二维码</a></li>
            <li><a href="#">平台二维码</a></li>
            <li><a href="#">平台二维码</a></li>
            <li><a href="#" class="app">平台二维码<img src="./img/tupian2.png" alt="" class="code"></a></li>
            <li><a href="#">平台二维码</a></li>
        </ul>
    </div>
</body>

</html>
   案例:定位图片下面的黑框

    4.固定定位

      介绍:相对于浏览器进行定位移动

      代码:position:fixed

      特点:1.需要配合方位属性实现移动

              2.相对于浏览器可视区域进行移动

              3.在页面中不在位置->脱标

        应用场景让盒子固定在屏幕中的某个位置           (注意该定位的盒子具有行内块的特点:没有东西撑不开盒子所以要设置尺寸)

  4.元素的显示层级

      不同;布局方式元素的层级关系:

           标准流<浮动<定位

      不同定位之间的层级关系:(标准流和定位之间都不存在谁压谁的问题)

          相对,绝对,固定默认层级相同

          默认情况下,定位的盒子,后来者居上

           z-index:整数;取值越大,显示顺序越靠上,z-index的默认值是0(注意:z-index必须配合定位才会生效)

  5.定位装饰

      1.vertical-align:middle:

                浏览器遇到行内块标签做文字处理的时候.默认文字是按基线对齐的

 

    (只要是垂直方向对不齐就会这样) 

   2.光标的类型

  3.边框圆角

  场景:让盒子四个角变得圆润,增加页面细节,提升用户体验

  属性名:border-radius

  常见取值:数字+px,百分比

  赋值规则:从左上角开始赋值,然后顺时针赋值,没有赋值的看对角 

  (常用的赋一个值的,圆形,胶囊型) 

    4.元素本身的隐藏

        visibility:hidden  占位隐藏(工作中不常用)

        display:none      不占位隐藏(常用)

      举个例子 还记得我们的二维码案例吗,在上面代码中加上红框里的代码就可以实现,鼠标悬停则显示二维码,鼠标移走则不显示

    5.透明属性

      场景:让某元素整体(包括内容)一起变透明

      属性名:opacity    属性值0~1  0完全透明, 1完全不透明 

学到这里,基本就算学完了,还有一些极个别的样式,后期工作需要现查就好.

后面我会在更新一篇项目文件,大家在综合熟悉一下.点关注不迷路!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我会一直陪着你

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

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

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

打赏作者

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

抵扣说明:

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

余额充值