网站首页 > 技术文章 正文
在Web前端开发-CSS入门干货01 、Web前端开发-CSS入门干货02 、Web前端开发-CSS布局-盒子模型入门干货 介绍了CSS重要基础概念选择器和字体系列、文本系列、背景系列样式以及CSS布局中元素的盒子模型,下面介绍CSS布局中另外两个重要应用浮动和定位。
根据元素浮动、定位的特性可以将CSS布局分为三种:标准流、浮动流、定位流;
其中标准流是利用块级元素独占一行、自上而下,行内元素一行显示、遇到阻碍自动换行、自左向右的布局方式。
1.浮动
(1)什么是浮动
元素脱离原先位置,不再占据空间,相对于未浮动元素类似漂浮在其上面;
浮动元素具有了行内块元素特性,并实现贴边布局。这里的边可以是父级元素的边也可以是同样浮动的兄弟级元素的边。
(2)浮动解决的问题
改变块级元素默认的垂直布局方式,改为横向布局。
行内块样式(display: inline-block;)也可以改变块级元素的布局方式,但是不能灵活解决两个块级元素之间缝隙、不能灵活解决多个块级元素分别实现左对齐、右对齐等问题。当然如果想要块级元素随意放置,那就要用到定位了。
(3)浮动的语法
选择器 {float:none/left/right},对选择器选择的元素实现不浮动、左浮动、右浮动。
(4)浮动的典型应用
通过不浮动的块级元素+嵌套在其内内的浮动元素,实现页面各种布局。
块级元素实现纵向布局,浮动的元素实现横向布局。
(5)因为浮动引出的问题
浮动元素通常嵌套在一个不浮动的元素内,进行配合使用;所有浮动元素的高以及外边距之和不能超过那个不浮动元素,否则出现重叠。
那么当嵌套的浮动的子元素数量不确定时,那么父级元素的高度就不能确定。为了解决这个问题,提出来不设置父级元素的高度,让子元素的高度之和成为父元素高度的方式;然而浮动的子元素具有脱离原先位置、不占空间的特点,那么父元素的高度只会是0,在父元素之后的兄弟元素就会与上一个父元素内浮动元素发生重叠。为了解决这个问题,提出来清除浮动。
(6)清除浮动
1)语法
选择器 {clear:right/left/both};清除选择器选中的元素的右浮动、左浮动、左右浮动。
2)清除浮动方式
a)额外标签法
添加一个与浮动元素同级的空标签(块级),并为其设置清除浮动的样式。
<style>
.one {float:left}
.kongbq {clear:both}
</style>
<div class="box">
<div class="one"> </div>
<div class="kongbq"> </div>
</div>
b)父级元素添加overflow样式(常用)
语法:选择器 {overflow:hidden}
c)父级元素添加after伪元素样式(常用)
样式如下:
.clearfixry:after {
content:"";
display:block;
height:0;
clear:both;
visibility:hidden;
}
.clearfixry { /*IE6、7专有*/
*zoom:1;
}
d)父级元素添加双伪元素(常用)
样式如下:
.clearfixry:before,.clearfixry:after {
content:"";
display:table;
}
.clearfixry:after {
clear:both;
}
.clearfixry { /*IE6、7专有*/
*zoom:1;
}
2.定位
(1)什么是定位
将html元素放置在任意指定的位置,提高页面布局的灵活性。
(2)定位解决的问题
比如页面侧边固定的工具栏、轮播图
(3)定位的实现方式
利用定位模式+边偏移,在样式中设定定位模式,然后设定元素盒子模型边偏移。
1)边偏移
包括top、right、bottom、left四个分项。
2)定位模式分类
a)静态定位(static):元素无偏移,也即元素本身的默认布局方式。
语法:选择器 {position:static;}
b)相对定位(relative):相对元素自身原先位置设置偏移。(常用)
语法:选择器 {position:relative;}
需要注意的是设置了相对定位的元素仍旧实际占据位置
c)绝对定位(absolute):相对于元素的拥有定位的父级(或者更高级)元素进行定位。(常用)
语法:选择器 {position:absolute;}
需要注意的(1)设置的绝对定位的元素的参考依据是有定位模式的父级或者更高级元素的。
(2)设置了绝对定位的元素会有浮动效果,即不再占有位置。
d)固定定位(fixed):相对于浏览器可视区域,在某个位置固定不动。(常用)
语法:选择器 {position:fixed;}
需要注意的(1)设置的固定定位的元素的参考依据浏览器当前可视窗口。
(2)设置了固定定位的元素会有浮动效果,即不再占有位置。
e)粘性定位(sticky):被认为是相对定位和固定定位的混合。元素在跨越特定偏移前为相对定位,之后为固定定位。
语法:选择器 {position:sticky; top:10px;}
需要注意的是(1)粘性定位一定要设置边偏移(任何边都可行),否则其功能和相对定位相同。
(2)设置的粘性定位的元素的参考依据浏览器当前可视窗口。
(3)设置的粘性定位的元素仍旧实际占据位置
- 上一篇: 前端布局小案例,分享3个漂亮的表单组件
- 下一篇: 前端布局小案例,分享3个漂亮的卡片组件
猜你喜欢
- 2024-09-29 图文详解CSS中的Grid布局,你真的可以5分钟掌握
- 2024-09-29 html2canvas - 动态生成微信分享海报的优质js库
- 2024-09-29 Web前端开发进阶教程:CSS 布局方式详解
- 2024-09-29 CSS-常见布局介绍 css布局有几种
- 2024-09-29 前端笔记-flex 布局 flex布局 order
- 2024-09-29 你要的CSS布局都在这里 css布局技巧
- 2024-09-29 前端Flex布局可视化布局工具介绍,vue和html5快速设计利器
- 2024-09-29 前端样式布局神器-弹性布局flex学习思路
- 2024-09-29 前端flex布局,动图效果,小白也能看懂
- 2024-09-29 前端布局小案例,如何创建漂亮的毛玻璃输入表单卡片效果
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)