css <样式一>
1. 盒子模型
1.1>boarder
在这里插入图片描述
boarder 相邻框合并问题
boarder-classpse 相同的边框会合并在一起
text-alicn center 文字居中对齐
########### boarder 会撑大盒子的实际大小
一个盒子加了boarder之后会变大的
我可以把我的盒子内容进行修改, 减少像素
内容距离盒子的位置 叫做内边距
pading也会影响盒子的大小, 默认是紧贴在一起的
pading-top 内容和上边的距离
内边距 pading
pading会增大盒子的
盒子如果没有wight/hight 则此时pading不会撑大盒子
宽度不变化 因为我们此时没有撑开宽度
只要有这个属性 宽度就会发生变化
没有指定宽度 和父亲一样宽
浮动 float
为什么用浮动
多个块级的盒子排成一行
>行内块元素
#2.0 标准流可以管理竖着排列 浮动可以管理横着排列的
float left right none
eg:
标准流 如果我加了浮动 后 我就会脱离位置
如果我只给粉色的盒子加了浮动 蓝色的盒子没有加浮动 就会显示出这种叠加效果
我给我这个盒子加上float_left 意思是 我这个盒子我就有浮动了
2个盒子都设置浮动 就在左边进行排列
所有浮动得盒子都是在一行内进行对齐的,并且是顶端对齐的
我给我4个div 都加一个float left 就都向左移动
浮动得盒子 浏览器变小后 会掉下来,4个浮动的div盒子 浏览器缩小后会掉下来
如果屏幕再变小的话 会掉下来2个
浮动的盒子就会脱标
浮动的元素具备行内块元素特征
行内元素不能直接设置宽度和高度
span是行内元素 给宽高是无效的 加了float 之后就可以有宽高了
我们2个span 行内元素是没有宽高的 所以我们加了float之后 就有行内块元素的特性了 在一行显示 而且
具备行内块元素的特点 第一个在一行上 第二都是有宽度 有高度的
所以给我们行内元素添加了浮动 他就有行内块元素的特性
块级元素也一样 有宽度 有高度 加了浮动效果以后
不管你以前是什么元素 加了浮动之后都具备行内块元素的特性
父元素管上下 子元素管左右
# f浮动的元素通常配合父级别使用
在这里插入代码片
所以我们的盒子不能直接加浮动 因为他是以浏览器为准 所以我们要以一个盒子包裹
先要准备一个大的父盒子
浮动盒子都是启一行的 只不过显示不开了 另起一行了
浮动布局的注意点 浮动和标准流的父盒子搭配
父元素管理上下
#############################\
第二个盒子没有浮动就会造成这个问题
第二个盒子没有浮动就会造成这个问题
####################### 清除浮动
所有的父盒子都是有高度的么 只有浮动的盒子才能在一行上
像这种子孩子太多 就不方便给高度,父盒子高度此时就不能写死
因为此时我们不知道有多少产品
我不给父盒子高度 让子盒子撑开,
很多时候父盒子不方便给高度, 浮动的元素是不占有位置的
此时父盒子的高度就是0 ,如果父盒子没有高度 我们的父元素高度就是0
父盒子下面的div 就会拉上去
父亲没有高度 只要给孩子加了浮动 我父亲高度就变成0 就是因为我父亲没有高度 因为我们此时想用孩子来撑开父亲的高度
为了解决这个问题 我们要清除浮动
父亲高度为0 就会影响下面的高度
父盒子托标 清除浮动 因为i父盒子在很多情况下不需要高度的
清除浮动后 父亲有了高度 和子孩子一样 孩子有多高 我子盒子就有多高
孩子有多少不要紧 我能够自动检测高度
不会影响我们的页面布局 清除了浮动
#########################?
定位
1. 我们学习定位, 在开发中有什么常见场景 为什么需要定位
###############################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
########### 或者我们可以让盒子固定到我们屏幕中的位置
小盒子在我大盒子中间自由移动位置 并且可以压住其他盒子
####>定位 将盒子定在某一个位置上,所以定位也是摆放盒子,按照定位的方式移动盒子
定位的组成
### 定位模式+边偏移
relation 相对定位
相对定位相对于自身原来位置来走的 -----------?? 不是以浏览器为准
也不是以父亲为准 是以他原来为准
他走之后 他的位置 ?????? 还在保留
下面的盒子不会跑到他下面
相对定位不脱标,相对定位 边偏移和浏览器没有关系 和原来的位置有关系
我都是以自己原来位置移动的, 第二条我下面的盒子没有升上去 也就是我没有脱标
相对定位
相对于自己原来的位置来进行移动的
不脱标 还继续在标准流中 也就是他原来位置还继续保留的
#####################>>>绝对定位
元素如果加了绝对定位 是根据他的父元素来决定定位的
绝对定位如果没有父亲就会以浏览器对齐
他有父亲 但是父亲没有定位
你的父亲虽然已经有了 但是没有定位 所以孩子加了绝对i定位之后还是以浏览器为准
绝对定位的使用特点 【没有父元素 或者父元素没有定位 子盒子】 就会以浏览器为准
我要让我里面的盒子在我父元素的中间来回移动
############>>>>>>>..怎么吧一个绝对定位的盒子约束到规定的父元素中
父亲有定位 了 孩子只能在父亲的定位框中
以我父元素为准
约束我的绝对定位 让我的绝对定位在父盒子里面
################################
绝对定位 不再占有位置 脱离标准流
不保留位置 会浮动下来
绝对定位是不占有位置的
## 相对定位和绝对定位到底有什么样的场景 什么时候用相对定位 什么时候用绝对定位
子绝父相 的由来
父盒子必须要加定位来限制我子盒子要在父盒子内部
fixed 固定定位
固定定位有什么样的使用场景
浏览器在滚动的时候 我浏览器元素位置不会滚动
什么是浏览器的可视窗口,
浏览器的可视窗口
最简单的固定定位的写法
浏览器变大 永远在我这个可视区域的右上角
固定定位是以浏览器的可视窗口为
你加了 固定定位后 会脱标 不占有位置的
不再保留位置的
相对定位 不托标 x相对于原来位置移动位置 来移动位置
绝对定位 如果没有父级 或者父级没有定位是以浏览器为基准
## 子绝父相
三个盒子都加了绝对定位都会托标 基于浏览器 然后 谁在上面
定位的 层叠性 使用z-index 让定位的盒子层叠加起来
绝对定位的盒子剧中
我给这个div加一个margon 0 auto 就会水平居中
但是加了绝对定位的盒子 加margon 0 auto 就会水平居中 是不启动效果的
只要我加了绝对定位的盒子 默认是贴着我这个浏览器的左侧来显示的
但是我想让他在整个浏览器的水平居中显示 怎么做
在这里插入代码片
你不管怎么做 我box 还是在我可视区 的水平居中 垂直剧中 缩放浏览器
#### 行内元素加了绝对定位和相对定位 也可以直接设置高度、宽度
我给我们span 加宽度 或者加高度 只能转换或者加浮动
我加了定位之后 我span 行内元素就有宽度和高度了
我div 的宽度就是内容的宽度了
############################
float 会把文字全部露出来
在这里插入代码片
在这里插入代码片
原文地址:https://blog.csdn.net/weixin_43689953/article/details/142319231
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!