【CSS】基础(三)

本文深入探讨了CSS中的浮动布局,包括常见布局模式、浮动的作用与语法,以及浮动元素的特性与清除方法。接着介绍了伪元素和伪类的应用,如`before`和`after`以及链接伪类。最后详细阐述了定位的概念,包括静态、相对、绝对和固定定位,边偏移和`z-index`的使用,以及定位的扩展技巧。内容涵盖网页布局中的关键知识点,有助于提升CSS布局能力。
摘要由CSDN通过智能技术生成

1.浮动

1.1常见的网页布局

(1) 普通流(标准流)
在这里插入图片描述
(2)浮动
在这里插入图片描述
(3) 定位

1.2 浮动的作用

在这里插入图片描述

1.3 浮动的语法

选择器{
	float: 属性值;
}
属性值描述
none元素不浮动
left元素左浮动
right元素右浮动

1.4 浮动的特性

(1)浮动元素会脱离标准(脱标)
在这里插入图片描述
(2)浮动元素会一行内显示并且元素顶部对齐

(3)浮动元素会具有行内块元素的特性

在这里插入图片描述

1.5 浮动元素经常和标准父级元素搭配

在这里插入图片描述

1.6 浮动布局注意点

在这里插入图片描述

1.7 清除浮动的方法

1.7.1 额外标签法(隔墙法)

在这里插入图片描述

1.7.2 父级添加overflow属性

在这里插入图片描述

1.7.3 父级添加after属性

.clearfix: after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix: {
	/*IE 6, 7专有*/
	*zoom: 1;
}

在这里插入图片描述

1.7.4 父级添加双伪元素

.clearfix: before, .clearfix: after {
	content: "";
	display: table;
}
.clearfix: after {
	clear: both;
}
.clearfix: {
	/*IE 6, 7专有*/
	*zoom: 1;
}

在这里插入图片描述

2.伪元素和伪类

2.1伪元素

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo1</title>
    <style type="text/css">
        .style1:before{
            content: "my before";
            background-color: powderblue;
        }
        .style2:after{
            content: "my after";
            background-color: burlywood;
        }
    </style>
</head>
<body>
    <h1 class="style1">Hello World</h1><br/>
    <h2 class="style2">Welcome to CSS</h2>
</body>
</html>

在这里插入图片描述

2.2伪类

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>伪类</title>
    <style type="text/css">
        .style1:focus{
            background-color:red;
        }
    </style>
</head>
<body>
    <label>
        <input class="style1" type="text" value="Hello World"/>
    </label>
</body>
</html>

鼠标放到文本框中时背景变红色。
在这里插入图片描述

2.3伪元素和伪类的区别

在这里插入图片描述

2.4 a标签的伪类

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style type="text/css">
        a:link{
            color: red;
        }
        a:visited{
            color: yellow;
        }
        a:hover{
            color: blue;
        }
        a:active{
            color:green;
        }
    </style>
</head>
<body>
    <a href="#/demo1">demo1</a>
    <a href="#/demo2">demo2</a>
    <a href="#/demo3">demo3</a>
    <a href="#/demo4">demo4</a>
</body>
</html>

在这里插入图片描述

2.5浮动与行内元素

在这里插入图片描述

3.定位

3.1 定位的作用

定位可以使得某个盒子在某个盒子内自由的移动或者固定在某个盒子的某个地方,并且可以压住某个盒子。

3.2 定位组成

定位 = 定位模式 + 定位偏移

定位模式:用于指定一个元素在文档中的定位方式。
定位偏移:用于指定该元素的最终位置。

3.3 定位模式

通过元素的position属性来设置。

模式
static静态定位
relative相对定位
absolution绝对定位
fixed固定定位

在这里插入图片描述

3.3.1 静态定位

定义:静态定位就是元素的默认定位方式,无定位的意思。

语法:css选择器 {position : static;}

特点: (1)静态定位按照标准流的特性摆放,没有边偏移。

3.3.2 相对定位

定义:相对定位就是元素在移动位置的时候,是相对于它原来的位置来说的。

语法:css选择器 {position : relative;}

特点: (1)它是相对于自己原来的位置来移动的。

(2)原来的标准流的位置继续占有,后面的盒子仍然以标准流的方式对待它。

3.3.3 绝对定位

定义:绝对定位是元素在移动位置的时候,是相对于祖先元素来说的。

语法:css选择器 {position : absolution;}

特点:(1)如果没有祖先元素或者祖先元素没有定位,则以浏览器为准定位(Document文档)。

(2)如果祖先元素有定位(绝对,相对,固定定位),则以最近的有定位的祖先元素为基准。

(3)绝对定位不再占有原来的位置

3.3.4 固定定位

定义:固定定位是元素固定于浏览器可视区的位置。主要使用在浏览器页面滚动时元素位置不会改变。

语法:css选择器 {position : fixed;}

特点:

(1)以浏览器的可视窗口为参照点移动元素,跟父元素没有任何关系,不随滚动条滚动。

(2)固定位置不再占有原来的位置。

3.4 边偏移

边偏移就是定位的盒子移动到最终位置。

边偏移属性描述
top顶部偏移量 ,定义元素相对于其父元素上边线的距离
bottom底部偏移量 ,定义元素相对于其父元素下边线的距离
left左部偏移量 ,定义元素相对于其父元素左边线的距离
right右部偏移量 ,定义元素相对于其父元素右边线的距离

3.5 子绝父相

父元素使用相对定位,子元素使用绝对定位。

在这里插入图片描述

3.6 定位叠放次序 z-index

定义:在使用定位布局的时候,可能会出现盒子重叠的情况,此时,可以使用z-index来控制盒子的前后顺序。

语法 : css 选择器 {z-index : 1;}

特点:

(1)数值可以是正数,负整数或者0,默认是auto,数值越大,盒子越靠上。

(2)如果属性值相同,则按照书写的顺序,后来居上。

(3)数字后面不能加单位。

(4)只有定位的盒子才有z-index属性。

3.7 定位的扩展

3.7.1 绝对定位的盒子居中

第一步:left: 50%; (让盒子的左侧移动到父级元素的水平中心位置)
第二步:margin-left: 100px (子元素盒子大小为200px,让盒子左移自身宽度的一半)

3.7.2 定位的特殊性

绝对定位和相对定位和浮动类似。

(1)行内元素添加绝对或者固定定位,可以直接设置高度和宽度。

(2)块级元素添加绝对定位或者固定定位,如果不给宽度或者高度,默认大小是内容的大小。

3.7.3 脱标的盒子不会触发外边距塌陷

浮动元素,绝对定位,固定定位,都不会出现外边距塌陷。

3.7.4 绝对定位(固定定位)会完全压住盒子

(1)浮动元素只会压住下面的标准流,但是不会压住下面的标准流盒子里面的文字。

(2)但是绝对定位(固定定位)会压住下面的标准流的所有内容。

4.CSS的三大特性

4.1层叠性

在这里插入图片描述

4.2继承性

在这里插入图片描述
特殊:行高的继承性
在这里插入图片描述

4.3优先级

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

作者:Beyong    
出处:Beyong博客
github地址:https://github.com/beyong2019

本博客中未标明转载的文章归作者Beyong有,欢迎转载,但未经作者同意必须保留此段声明,且在文章明显位置给出原文连接,否则保留追究法律责任的权利。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值