CSS定位装饰-黑马程序员=前端零基础

目录

1.网页常见布局方式

1.标准流

2.浮动

3.定位

2.使用定位的步骤

2.1设置定位方式

2.2设置偏移量

2.3相对定位relative

2.4绝对定位absolute

2.5子绝父相水平居中

 2.6固定定位fixed

3.元素层级关系

4.装饰

4.1垂直对齐方式

4.2光标类型

4.3圆角边框

4.4溢出显示效果-overflow

4.5元素本身的隐藏

4.6元素整体透明度opacity


1.网页常见布局方式

1.标准流

块级元素独占一行  垂直布局

行内元素/行内块元素一行显示多个  水平布局

2.浮动

可以让原本垂直布局的块级元素变成水平布局

3.定位

可以让元素自由的摆放在网页的任意位置

一般用于盒子之间的层叠情况

2.使用定位的步骤

2.1设置定位方式

属性名:position

定位方式属性值
静态定位(没有效果)static
相对定位relative
绝对定位absolute
固定定位fixed

2.2设置偏移量

偏移量设置分为两个方向,水平和垂直方向各选一个使用即可

选取的原则一般是就近原则

方向属性名属性值含义
水平left数字+px距离左边的距离
水平right数字+px距离右边的距离
垂直top数字+px距离上边的距离
垂直bottom数字+px距离下边的距离

2.3相对定位relative

特点

  • 占有原来的位置
  • 仍然具有标签原有的显示模式特点(例如块级独占一行)
  • 改变位置参照自己原来的位置
  • 如果左右都有,以左为准,上下都有,以上为准

2.4绝对定位absolute

  • 先找已经定位的父级,如果有这样的父级就以这个父级为参照物进行定位
  • 有父级,但是没有定位,以浏览器窗口为参照物进行定位

特点

  • 脱标,不占位置
  • 改变标签的显示模式特点:具有行内块特点(在一行共存,宽高生效)
  • 绝对定位的元素是行内块显示模式,可以设置宽高,如果不设置宽高,宽度和高度就由内容决定,如果没有宽高,也没有内容,就是0

2.5子绝父相水平居中

搭配使用,可以达到我们想要的效果

使用子绝父相,让子盒子在父盒子中水平居中

使用绝对定位的盒子不能使用左右margin auto居中

第一种

            position: absolute;
            left: 50%;     
            margin-left: -150px;  
            /* margin-left的值是盒子的一半 */
            top: 50%;
            margin-top: -150px;

 第二种

            position: absolute;
            left: 50%; 
            top: 50%;
            /* 位移:自己宽度高度的一半 */
            transform: translate(-50%,-50%);

 2.6固定定位fixed

特点

  • 脱标-不占位置
  • 改变位置参考浏览器窗口
  • 具备行内块特点

3.元素层级关系

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

z-index:整数;取值顺序越靠上,z-index的默认值是0.

注意:z-index必须配合定位才生效

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

  • 标准流<浮动<定位

不同定位之间的层级关系:

  • 相对、绝对、固定默认层级相同
  • 此时HTML中写在下面的元素层级更高,会覆盖上面的元素

4.装饰

4.1垂直对齐方式

属性名:vertical-align

属性值:

属性值效果
baseline默认,基线对齐
top顶部对齐
middle中部对齐
bottom底部对齐

给谁设置verti-align,其他元素就像他看齐


当设置图片,给这个图片弄一个背景颜色时,会出现底边多那么一点

解决办法:

            第一种办法
            vertical-align: middle;
            第二种办法
            浏览器把行内和行内块标签当作文字处理,默认基线对齐
            display: block;
            图片是行内块标签,把图片转化成块级元素,就没有基线的事情啦

 当设置图片,给这个图片一个背景颜色,想让这个图片在这个背景中居中

方法如下

加line-height / text-align / vertical-align

<style>
        .father
        {
            width: 900px;
            height: 800px;
            background-color: pink;
            line-height: 800px;
            text-align: center;
        }
        img
        {
            width: 400px;
            height: 300px;
            background-color: pink;
            vertical-align: middle;
        }
    </style>
</head>
<body>
    <div class="father">
        <img src="images/IMG_20221105_122510757.jpg" alt="">
    </div>
</body>

4.2光标类型

设置鼠标光标在元素上时显示的样式

属性名:cursor

常见属性值:

属性值效果
default默认值,通常是箭头
pointer小手效果,提示用户可以点击
text工字型,提示用户可以选择文字
move十字光标,提示用书可以移动

4.3圆角边框

属性名:border-radius

常见取值:数字+px、百分比(圆的半径)

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

4.4溢出显示效果-overflow

属性名:overflow

常见属性值:

属性值效果
visible默认值,溢出部分可见
hidden溢出部分隐藏
scroll无论是否溢出,都显示滚动条
auto根据是否溢出,自动显示或隐藏滚动条

4.5元素本身的隐藏

让某元素本身在屏幕中不可见

常见属性:

visibility:hidden(占位)

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

    <style>
        .box
        {
            display: none;
        }
        .box a:hover img
        {
            display: block;
        }
    </style>

4.6元素整体透明度opacity

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

属性名:opacity

属性值:0~1之间的数字

  • 1:表示完全不透明
  • 0:表示完全透明

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值