浮动
一.清除浮动的方法
1.方法一
给父元素设置高度
示例
先看下没有清除的效果:
<body>
<div class="father">
<div class="son1"></div>
<div class="son2"></div>
</div>
</body>
css样式
.father{
background-color: violet;
}
.son1,.son2{
width: 300px;
height: 150px;
float: left;
}
.son1{
background-color: teal;
}
.son2{
background-color: tomato;
}
这下让我们看下方法一设置父元素的高度
然后运行:
可以看到父元素的宽度出来了,样式清除浮动。
【注】不推荐使用
理由 :不能把高度固定死,不适合做自适应的效果。
2.方法二
父元素添加浮动。
示例
来看看添加的样式结果如何:
看看运行结果:
可以看到父元素的宽高由子元素的内容影响。
但是这样会影响整个网页的排版,都脱离了正常文本流。就会这样:
让在后面添加一个元素:
给他设置宽高背景颜色
所以不推荐使用,
理由:会影响后面的元素布局。
3.方法三
添加 overflow:hidden
添加overflow:hidden之后,父盒子会拥有BFC属性
这个属性的其他作用可以清除浮动,,但是由于他是会引起文本超出的内容会被隐藏,所以不推荐使用。
不推荐
优点:简单。
缺点:内容比较多的时候,容易造成内容被隐藏。
4.方法四
设置父盒子为行内块
示例
<div class="father">
<div class="son1"></div>
<div class="son2"></div>
</div>
<span>面对疾风吧</span>
<div class="box"></div>
设置行内块元素
运行:
不推荐:
理由:会影响后面的元素布局。
5.方法五
使用伪元素清除浮动(推荐使用)
给父元素添加伪元素 ::after
.father::after{
/* 伪元素必写,否则不生效,可以设置为空 */
content: "";
/* 不允许左侧和右侧有浮动效果 */
clear: both;
/* clear:both 只会对块元素生效。 */
display: block;
}
这样就可以正常的取消浮动了。
正常显示,推荐使用。
6.伪元素
上面我们看到使用伪元素,接下来正好来看看伪元素。
css的伪元素,是指他们不是真正的页面元素。html中并没有对应的结构,但是其用法与表现,行为与真正的页面元素一样。
- :before
格式:
选择器::before - :after
格式:
选择器::after
【注】设置伪元素,content是必须添加的。
添加的内容是默认为行内元素的。
2.ifont图标
添加小图标
1.使用link标签引入css
eg:
< link rel=“stylesheet” href=“https://at.alicdn.com/t/font_2200456_jdy81d52pfi.css”>
2.使用span标签,class属性中添加‘iconfont icon-XXX’
xxx为每个图标的专属类名。
3.定位
css中定位属性最常用的三种:绝对定位,相对定位和固定定位。
position 属性用于指定一个元素在文档中的定位方式。
position:
relative 相对定位
absolute 绝对定位
fixed 固定定位
sticky 粘性定位
看下各个定位的用法:
1.相对定位
让元素相对于自己原来的位置,进行位置调整。
margin和相对定位的区别:
- 概念
margin:用来表示盒子之间的间距。
相对定位:相对于自己原来的位置,进行位置调整。 - 用相对定位只会影响当前元素本身的位置,不会对相邻元素的位置产生影响。
用margin除了会影响当前元素本身的位置,还会对相邻元素的位置产生影响
相对定位不会脱标。原来的位置不会被其他元素占有。
相对定位的用途:
1.微调位置。
2.做绝对定位的参考系。(子绝父相)
示例
2.绝对定位
position:absolute
会定义一个坐标系,按照坐标系进行位移。
设置绝对定位时,一定要设置偏移量。
如果使用top描述,是从参考系的顶部计算位置。
使用right描述,是从参考系的右边计算位置
使用bottom描述,是从参考系的底部计算位置。
使用left描述,是从参考系的左边计算位置。
【绝对定位会脱标。】
绝对定位的盒子会寻找最近的定位祖先元素,并以它为参考系。
- 最近的祖先元素,不一定非是父元素。
- 不一定是相对定位,也可以绝对定位等。只要包含定位信息。
一般情况下都是设置子绝父相。
父盒子设置相对定位(零偏移),子盒子设置绝对定位。
示例
设置绝对定位
运行
3.定位运用盖亚效果
直接代码介绍:
示例哔哩哔哩网站的
实现它的效果
实现出字体在图片上方。
4.z-index
z-index属性
- 特性
- 数值大的位于上面,压盖数值小的。
- z-index 没有单位,是一个正整数。
- 如果大家都没有设置z-index,或者z-index一样,此时,压盖效果由html的书写顺序决定。
- 定位的元素永远可以压盖没有定位的元素。
- 只有设置了定位的元素,才可以设置z-index值。不管是相对,还是绝对 还是固定。
- 从父现象:拼爹。假如父元素的z-index比较大,就不需要看子元素的z-index值。
5.固定定位
相对于浏览器窗口进行定位。无论页面如何滚动,盒子的位置不变。
position:fixed;
用途
- 网页小广告
- 返回顶部
- 顶部导航
书写顶部导航条时,底部内容会被固定导航条遮盖。可以在body标签中,添加padding-top 高度为顶部导航条的高度即可。
比如这个联系客服
当滑动条滑动时这个图标在页面不动。
6.粘性定位
position: sticky;
用于与旁边目录条。
运行
滚动条继续向下滑动
可以看到当距离顶部100px后将往下跟着页面滑动。
7.小圆点
像导航栏里的图标转换里的小圆点。
设置出样式。
利用span标签。
完结。