块状元素:
Div:块级元素;dl和dt dd:搭配使用;form:交互表单;
H1-h6:大标题;hr:水平分割线;ol:有序列表;Ul:无序列表;(ul和ol与 li连用)
p:段落标签;fiedset:表单字段集;colgroup-col:表单列分组元素;
Table-tr-td:表格及行-单元格;pre:格式化文本;iframe:框架元素;
特征:
在没有设置宽度的时候 默认撑满一行
默认块元素独占一行
支持所有CSS命令
内联(内嵌)元素:
表现形式始终以行内逐个显示,没有自己的形状,不能定义宽高,只能根据所包含内容来确定。
常用的:
Img:图片; input:输入框;
a:锚点;b:粗体(不推荐使用);br:换行;em:强调;
i:斜体;span:内联容器定义文本内区域;
label:表单标签;strong:粗体强调;textarea:多行文本输入框;
特征:
宽高由内容撑开
不支持宽高
一行上可以继续显示同类的标签
不支持上下的margin
代码换行被解析:
1、<span></span><span></span>
2、<span></span>
<span></span> 两种情况不一样 情况2效果会多一个空格
块和内嵌(内联)的转换:
display:block 显示为块
使内联元素具备块属性的特征
display:inline 显示为内嵌
使行块属性标签具备内联元素的特性
display:inline-block
块在一行显示
内联元素支持宽高
没有宽度的时候 内容撑开宽度
标签之间的换行间隙会被解析
(ie6 ie7不支持块属性标签的inline-block)
float 浮动:
float:left/right/none/inherit; 向左浮动、向右浮动、默认值无浮动、从父元素继承float属性的值(注意:这里的方向是按照子元素的先后顺序)
注释:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。
文档流:文档中可显示对象在排列时所占用的位置
浮动:使元素脱离文档流 按照指定方向发生移动 遇到父级边界或者相邻的浮动元素就停下来
浮动特征:
块在一行显示
内联支持宽高
默认内容撑开高度
脱离文档流
提升层级的半层
清除浮动的方法:
1、clear:left/right/both/none/inherit; 元素的左、右、两边、默认无、继承方向上不能有浮动元素
2、加高 (问题:扩展性不好)
3、给父级加浮动 (问题:页面中所有的元素都加浮动 margin左右自动--auto失效)
4、inline-block (问题:导致margin左右auto失效)
5、空标签 (问题:ie6最小高度19px;解决ie6下还有2px偏差)
6、.br清浮动---<br clear="all" /> (问题:不符合工作中结构、样式、行为三者分离的要求)
重点掌握:
7、after伪类--- :after{content:""; display:block; clear:both;}(在父级上加after)
伪类:用于向某些选择器添加特殊的效果
写法:选择器:伪类{}
a:link {color: #FF0000} /* 未访问的链接 /
a:visited {color: #00FF00} / 已访问的链接 /
a:hover {color: #FF00FF} / 鼠标移动到链接上 /
a:active {color: #0000FF} / 选定的链接 */
“选择器:after”选择器在被选元素的内容后面插入内容 必须使用 content 属性来指定要插入的内容(after和content是组合)
p:after{ content:"台词";}
position 定位:
position:relative;相对定位
不影响元素本身的特性
不使元素脱离文档流(元素移动之后 原始位置会被保留)
**如果没有定位偏移量 对元素本身没有任何影响(仅有position:relative; 没有后续的left、top等指令)
提升层级
例如:
box_relative { (可以不写_relative)
position: relative;
left: 30px;
top: 20px;
}
注意,在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其它框。
position:absolute;绝对定位
使元素全脱离文档流(原始位置不保留)
是内嵌支持宽高
快属性标签内容撑开宽度宽度
如果有定位父级则相对于定位父级发生偏移 没有定位父级相对于document(可视区域 body本身有默认区域--margin)发生偏移
相对定位一般都是配合绝对定位元素使用
提升层级
position:fixed;固定定位
与绝对定位的特性基本一致 差别是始终相对整个文档进行定位(问题:ie6不支持)
例如:
div{
position:fixed;
left:0;
bottom:0;
}
opacity 透明:
设置元素的不透明度级别
例如: div{opacity:0.5;}
规定不透明度:从 0.0 (完全透明)到 1.0(完全不透明)
如果出现在父级中 则影响子级
z-index:数字;定位层级
z-index 属性设置元素的堆叠顺序
拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。
可拥有负的 z-index 属性值。
仅能在定位元素上奏效(例如 position:absolute;)
tableform 表格:
table 表格
thead 表格头
tbody 表格主体
tr 表格行 (<tr></tr> 仅表示一行)
th 元素定义表头
td 元素定义表格单元
**注意:text构成是一行一行完成的
设置单元格额外加:
table{border-collapse:collapse;} 单元格间隙合并
th,td{padding:0;}重置单元格默认填加
colspan 规定单元格可整合的列数(但是并不减少其他的单元格数量)
<td colspan="数字"></td>
rowspan 规定单元格可整合的行数(但是并不减少其他的单元格数量)
<td rowspan="数字"></td>
form 表单:
<form action=""><input type=" " name=" " value=" " /></form>
text 文本框
password 密码
radio 单选
checkbox 复选
submit 提交
reset 重置
button 按钮
image 图片
file 上传
hidden 隐藏
例如:<form action=""><input type="text" name="user_name" value="输入框" /></form>
单选:
<input type="radio" name="sex" value="man" />男
<input type="radio" name="sex" value="women" />女 (只有当单选的name是一样的时候 才会出现互斥的现象 而复选则不会)
提交:
<form action="http://www.XXX.com">
<input type="submit" value="提交的按钮名字"/> 提交到action后面的地址(如果不写value 则默认值为“提交”)
按钮:
<input type="button" value="自定义按钮名字" /> 必须有value