一篇带你了解进阶器 、浮动布局、定位布局与流式布局

选择器进阶

选择器进阶:
	伪类选择器:  当满足特定条件时,激活对应的样式
		元素:hover{}  当鼠标经过元素时,激活样式
	伪元素选择器:  创建一个虚假的元素.不能被选中.不存在网页dom中(安全性/性能)
		元素::before{content:'内容'} 在元素前面添加内容
		元素::after{content:'内容'} 在元素后面添加内容
	结构选择器:  选择一个结构中的指定元素
		元素:nth-child(n){} --> 选择指定序号的子元素
		元素:first-child{} --> 选择第一个子元素
		元素:last-child{} --> 选择最后一个元素

表单(form)
	写一些提供用户进行交互的窗口 -- 输入框,勾选框,确认框,提交按钮

	工具:
		input  -- 输入框
		textarea -- 多行输入框
		button -- 按钮
		select -- 下拉框
		option -- 下拉框里的选项

	input有很多种类型
		text -- 文字
		password -- 密码
		radio -- 单选框(根据name属性判断)
		checkbox -- 多选框
		file -- 文件
		submit -- 提交
		reset -- 重置
		
		# 浮动布局与定位布局
学习编程的诀窍 -- 多敲多练

布局方式

传统布局方式:
	1.文档流布局: 网页元素从上往下,从左往右进行布局. 主要用块元素布局,块元素独占一行 --> 通过margin padding display line-height
	2.浮动布局: 让一个元素可以在父级元素的区域内,向左/右浮动.一直到边界/其他浮动元素为止
	3.定位布局: 让一个元素在一个指定的位置显示
		绝对定位:  基于父级坐标进行移动
		相对定位:  基于本身进行移动

目前比较新,比较主流的布局方式为flex(弹性盒模型)
	flex--> 把内容基于两条轴进行分割排版

浮动篇(float)

浮动一开始是用来实现一些图文环绕效果.
后续延伸出了布局的功能 --> 浮动用来做水平布局也很方便
(以前的水平布局方式是通过把块元素转为行内块.但这样会有缺陷: 1.性能比较差 2.如果盒子内容超出了宽高,排版会崩塌)

基本上所有标签都可以添加float样式.
float主要两个属性:
	1.left  向左浮动
	2.right 向右浮动

tips:
	1.元素在浮动时会从原来的布局范围脱离.在文档中不在占位
	2.浮动会一直到边界/遇到其他浮动元素为止
	3.清除浮动:
		如果父级元素没有设置高度,盒子会随着内容延伸. 如果给里面的元素设置了浮动,它就会脱离原来的位置.这种情况下父级不会撑大
		解决方式就是给父级元素设置溢出处理:
			overflow: hidden;

定位篇(position)

通过定位来指定元素在网页中出现的位置
理论上来说可以用定位实现一个网页的所有布局 -- 不推荐.性能低

绝对定位(absolute): 让元素基于父级,在一个指定的位置出现.  让一个标签,出现在距离父级上下左右XX的位置
	- 绝对定位在移动后会脱离文档流.在文档中不再占位
	- 绝对定位的参照对象是基于父级进行移动.如果没有专门父级.默认父级为body(整个网页)

相对定位(relative): 让元素基于自身位置.在原来位置的基础上进行移动.在原来位置里向上下左右移动XX
	- 不会脱离文档流.移动后不影响其他的元素.只是自身位置改变
	- 不会改变元素的性质
	- 比较适合小范围的移动

定位的四个方向:
	top: ↑
	right: →
	bottom: ↓
	left: ←
单独写个定位样式是没用的.要结合四个方向来设置距离

父相子绝:
	父元素为相对定位,子元素为绝对定位. 子元素会根据移动后的父元素来显示.

z-index:
	当元素产生上下堆叠的时候.通过z-index调整位置.值越大,越靠上

小黄鸭代码调试法

在你电脑旁边放一只小黄鸭.遇到问题的时候,把问题和它说一遍.可能就会解决了.

旁观者清.把你的代码思路/流程和对方说了一遍 -- 自自然的把内容过了一遍 -- 可能就有了思路.问题解决了

你程序出现了个问题,bug/功能未实现 --> 提问
	陈总.我的程序要做XXX. 但是现在在准备XXX的时候.  一拍大腿-- 我想到是什么情况了.没事了

阿里图标

免费将图标以字体的形式加载页面

	使用步骤:
	1.  打开阿里图标官网:https://www.iconfont.cn/
	2.  注册/登录
	3.  选择需要的图标加入购物车
	4.  下载代码

flex布局(弹性盒模型)

http://c.biancheng.net/css3/flex.html

flex是当前较为主流的布局方式 --> 它布局起来更方便,可以取代float --> float一开始不是用来布局用的,有一些小缺陷

用flex布局的元素称为flex容器.  它里的内容称为容器项目/flex项目   父级:容器  子级:项目

flex布局原理: 就是通过两条轴.把网页分割成一行行/一列列
	flex主轴是从左往右. 副轴从上往下. 默认情况下是左右水平布局

flex的使用三要素:
	1.主轴的方向(你是要左右水平布局 / 上下垂直布局)
	2.主轴的对齐方式
	3.副轴的对齐方式

flex的使用:
	display: flex;

display样式说明
	设置主轴方向(决定左右/上下布局): flex-direction
		row;   # 行,默认属性.从左往右
		column;  #列,从上往下
		row-reverse;  # 行反转. 从右往左
		column-reverse;  #列反转.从下往上

	设置主轴对齐方式: justify-content
		flex-start;   # 默认,按照起点对齐.左/上
		flex-end;   # 终点对齐.右/下
		space-around;  #  均分布局
		space-between;  # 两端对齐

	设置副轴对齐方向: align-items
		center;   # 居中
		flex-start;  # 靠起点
		flex-end;    # 靠终点

	设置换行(如果主轴装不下内容):  flex-wrap
		no-wrap;  # 缩放不换行
		wrap;   # 换行

	flex项目属性:
		order: 项目的顺序.数值越小,排序越靠前.默认为0

猜你喜欢

转载自blog.csdn.net/2201_75506216/article/details/131707924
今日推荐