第六周学习
该元素virtual-area的底边对齐父元素的text-bottom。该元素virtual-area的顶边对齐父元素的text-top。bottom:该元素virtual-area的底边对齐line-box的最低边。百分比:相对于基线的偏移量,百分比是相对于自身virtual-area的高度。top:该元素virtual-area的顶边对齐line-box的最高顶边。行块盒最后一行有line-b
表单元素
作用:一系列元素,主要用于收集用户数据
input元素
输入框 空元素
普通文本框
1. 属性:
- type属性:输入框类型
type:text 文本选择框
type:password 会用符号来代替输入的密码
type:date 日期选择框,有兼容性问题
type:search 搜索框,有兼容性问题
type:range 滑块框 ,有兼容性问题
type:color
type:number,数字输入框
type:cheakbox,多选框 多选框为多个选择框
type:radio,单选框
type:fail 选择文件
- value属性:输入框的值
- placeholder属性:显示提示的文本,文本框没有内容时显示的字
2. input元素可以制作按钮
reset button submit
分别为重置按钮,普通按钮,提交按钮
## select元素
下拉列表选择框
子元素:option
## textarea元素
文本域,多行文本框
可替换元素
## 按钮元素
button
type属性:reset ,button submit
默认是提交按钮
对于设置按钮,认为button元素更加灵活
## 配合表单元的其他元素
### label
普通元素,通常配合单选多选框使用
可以通过for属性,让label元素关联某一个表单元素,for属性书写ID的值
隐形写法:
```html
<label>
<input name="gender" type="radio">男
</label>
<label>
<input name="gender" type="radio">女
</label>
datalist
使用id进行关联,本身不会显示
form元素
通常,会将整个表单元素放入其内部
作用:当提交表单时,会将form元素中的表单内容以合适的方式提交到服务器
例如日常提交账号密码进行验证
属性action="",在某处进行验证
必须要写name属性
form元素对开发静态页面没有什么意义
fieldset元素
表单分组
legend 分组标题
表单状态
readonly属性:布尔属性,是否制度,不会改变表单显示样式
disabled属性:禁用样式,会改变表单显示样式
美化表单元素
新的伪类
-
focus
聚焦样式:
tabindex 切换顺序 -
checked
单选和多选框被选中的样式
可替换元素基本控制不了样式
常见用法
-
重置表单元素样式
text-align:center
行盒居中 -
设置多行文本框/text-area是否允许调整尺寸
resize:
- both
- none
- horizontal(水平方向)
- vertical(垂直方向)
- 文本框边缘到内容的距离
padding:
text-indent:(首行缩进)
- 控制单选和多选的样式
下拉列表样式:
表格元素
在CSS技术出现前,网页通常用表格布局
后台管理系统可能使用表格
前台:面向用户
后台: 面向管理员。对界面要求不高,对功能性要求高
表格不再适用于网页布局?表格的渲染速度过慢
表格的术语(table)
-
表格标题(caption) 表头(thead) 表格主体(tbody) 表尾(tfoot)
-
表格行(tr)
-
单元格(td) 标题单元格(th)
border-collapse: collapse边框折叠
seperate 边框展开
colspan:""跨越几列
rowspan:""跨越几行
隔行填色:
tbody tr:nth-child(odd){
background:pink;
}
其他元素
-
abbr元素
缩写词 -
time元素
提供给搜索引擎和浏览器时间 -
b元素
以前是无语义元素,用于加粗字体 -
q元素
表示小段引用文本 -
blockquote
大段引用文本 -
br元素:主要用于在文本中换行
-
hr元素:无语义,主要用于分割
-
meta元素
给网页添加源数据,还可以用于搜索引擎优化
-
link元素
链接CSS
rel属性:链接的内容与网页的关系
type属性:链接内容MIME类型
@规则
at-rule:@规则、@语句、CSS语句、CSS指令
-
import
写法:
@import"路径";
导入另一个css文件 -
charset
@charset"utf-8";
告诉浏览器,使用的字符编码集是utf-8,必须写到第一行
web字体和图标
web字体
解决用户电脑上没有的相关字体,强制让用户去下载该字体
使用font-face制作一个新字体
字体图标
iconfont.cn字体图标库
使用雪碧图或者直接使用字体图标

块级格式化上下文(BFC)
独立的渲染区域,规定常规流块盒的布局
- 在水平方向上撑满包含块
- 垂直方向依次摆放
- 外边距无缝相邻会合并
- 无视浮动元素和定位元素
由HTML元素创建
- 根元素
- 浮动和绝对定位元素
- overflow不等于visible的块盒
- display等于table的块盒
常见的BFC区域,隔绝了内部和为外部的联系,内部的渲染不会影响到外部
具体规则:
-
创建BFC的元素,它的自动高度需要计算浮动元素
例如:解决高度坍塌
使用浮动、绝对定位、overflow:hidden{副作用最小} -
创建BFC的元素,它的边框盒不会与浮动元素重叠
-
创建BFC的元素,不会和它的子元素外边距合并
布局
排列页面中的区域
多栏布局
两栏布局和三栏布局
-
两栏布局
使用左右浮动 -
三栏布局
使用定位或浮动
使用浮动时先写左右再写中间
也可以创建BFC
等高布局
- 使用CSS3的弹性盒
- JS控制
- 伪等高
.left{
height:10000px;
margin-bottom:9990px;
}
等高布局代码:

元素书写顺序
先些浮动再写常规流
后台页面的布局
注意点:撑满整个页面
浮动的细节规则
盒子位置:
- 左浮动,元素靠上靠左排列
- 右浮动,元素靠上靠右排列
- 浮动盒子的顶边不得高于上一个盒子的顶边
- 若剩余空间无法放下浮动的盒子,则该盒子向下移动,知道具备足够的空间能容纳盒子,然后向左或向右移动

行高的取值
line-height
- px,像素值
- 无单位的数字 先继承再计算 指两倍大小
- em单位 行高为字体大小的两倍
- 百分比
body的背景
画布 canvas
一块区域
特点:
- 最小宽度为视口宽度
- 最小高度为视口高度
HTML元素背景
覆盖画布
body元素背景
如果HTML元素有背景,BODY元素正常(背景覆盖边框盒)
如果HTML元素没有背景,BODY元素覆盖画布
画布背景图的背景
- 背景图的横向宽度百分比,相对于视口
- 背景图的纵向高度百分比,相对于HTML元素
- 背景图的横向位置百分比,相对于视口
- 背景图的纵向位置百分比,相对于HTML元素
行盒的垂直对齐
多个行盒垂直方向上的对齐
给没有对齐的元素设置vertical-align
预设值
数值
图片的底部白边
原因:
图片的父元素是一个块盒,块盒高度自动,图片底部往往和父元素之间有白边
-
设置父元素字体大小为零(有副作用,可能使后面加的文字不见)
-
将图片设置为块盒

参考线-深入理解文字
font-sixe、line-height、vertical-align、font-family
文字
文字是通过一些文字制作软件制作的
fontforge
制作文字时,会有几儿参考线,不同的文字类型,参考线不同

font-size字体大小,设置文字的相对大小
文字的相对大小:1000、2048、1024
- 文字顶线到底线的距离是文字的实际大小(content-area 内容区)
实际大小不等于相对大小
一般会超过相对大小 - 行盒的背景覆盖文字的内容区
行高
顶线向上延伸的空间和底线向下延伸的空间,两个空间大小相等,该空间叫做gap(空隙)
gap默认情况下,是字体设计者决定的
top到bottom,叫做virtual-area(虚拟区)可以调试
行高就是virtual-area
line-height:normal,默认值
文字不一定出现在一行的中间
content-area一定出现在virtual-area的正中间
vertical-align
决定参考线:font-size、font-family、line-height
一个元素如果子元素出现行盒,该元素内部也会产生参考线
baseline:该元素的基线和父元素的基线对齐
super:该元素的基线与父元素的上基线对齐
sub:该元素的基线与父元素的下基线对齐
text-top;该元素virtual-area的顶边对齐父元素的text-top
text-bottom;该元素virtual-area的底边对齐父元素的text-bottom
top:该元素virtual-area的顶边对齐line-box的最高顶边
bottom:该元素virtual-area的底边对齐line-box的最低边
middle:该元素的中线与父元素的x字母高度一半的位置对齐
行盒组合起来,可以形成多行,每一行的区域叫做line-box
行盒:inline-box
行框:line-box
数值:相对于基线的偏移量,想上为正数,向下为负数
百分比:相对于基线的偏移量,百分比是相对于自身virtual-area的高度
line-box是承载文字内容的必要条件,一下下情况不生成行框:
- 某元素内部没有任何行盒
- 某元素字体大小为0
可替换元素盒行块盒的基线
图片:基线位置位于图片的下外边距
表单元素:基线位置在内容的底边
行块盒:
-
行块盒最后一行有line-box,用最后一行的基线作为整个行块盒的基线
-
如果行块盒内部最后一行内有行盒,则使用下外边距作为基线
堆叠上下文(stack context)
一块区域,由某个元素创建,规定了该区域的内容在z轴上的排列先后顺序。
创建堆叠上下文的元素
- html元素(根元素)
- 设置了z-index数值(非auto)的定位元素
通风一个堆叠上下文中元素在z轴上的排列顺序
从后到前的排列顺序:
- 创建堆叠上下文的元素背景和边框
- 堆叠级别(z-index)为负值的堆叠上下文
z-index值越大越靠前 - 常规流非定位块盒
- 非定位的浮动盒子
- 常规流非定位行盒
- 任何z-index是auto的定位子元素,以及z-index是0的堆叠上下文
- 堆叠级别是正值的堆叠上下文
每个堆叠上下文,独立于其他堆叠上下文,它们之间不能相互穿插。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)