1.HTML书写的基本规范
img标签必须得写alt=""
标签名和属性名字必须小写
引号必须用双引号
双标签必须有闭合标签
单标签要合理闭合
属性名和标签名用空格隔开
2.xhtml就是严格的html
文档
5 <!DOCTYPE html> html5标准网页声明
!+document的简写DOC+TYPE类型的组合+html
4.01 过渡型和严格型
1.0 过渡型和严格型
作者 author
版权 copyright
描述 description
关键词 Keywords
3.<meta charset="UTF-8">写在head里面
字符编码
utf-8 1个文字3个字节
gb2312/gbk 1个文字2个字节
4.标签类型
1)单标签,双标签
单标签:br img hr
2)行内标签、块标签、行内块
行内块:<img src="" alt="" title="" />
图片链接 title img下路径正确或错误都显示的提示文字
块标签特性 :
独占一行
支持宽高
默认父级宽度100%
不受空格影响
嵌套规则
块标签可以嵌套所有标签
例外:p标签不可以套任何块标签
|
行内标签特性 :
并到一行
不支宽高
根据内容撑开
受空格影响
嵌套规则
行内标签可以套任何行内标签(自己本身标签除外)
例外:a可以套所有标签
|
<div>空的块标签</div> | 常用<span></ span> |
<ul>无序列表</ul> | 常用<a></a> |
<p>段落块标签</p> | <b ></b> |
<ol>有序列表</ol> | <i ></i > |
<h1>标题标签<h6> | <em></em> |
<strong></strong> | |
display:inline; 转行内
display:block; 转块
display:inline-block; 转行内块
5.属性
属性名 | 属性值 |
字体颜色 | color(三种写法) red,#000,rgb(0,0,255) |
字体大小 | font-size:16px;单位有:px,em |
字体类型 | font-family:"微软雅黑"(Microsoft YaHei); |
字体样式 | font-style:(italic倾斜)(normal正常) |
字体粗细 | font-weight:(bold加粗)(normal正常) |
文本对齐 | text-align:(center居中)(left居左)(right居右) |
文本行高 | line-height:30px;(值和高度一样可以居中) |
文本缩进 | text-indent:2px;(单位:px,em) |
文本垂直对齐 | 仅限文本和行内块{vertical-align:top/middle/bottom} |
背景:颜色 背景图地址() 不重复 位置 位置;
位置只要出现错误都会回到0 0
|
background:yellow url(huiji.png) no-repeat 0px center;(没有顺序) |
边框:边框大小 实线、虚线、点画线 边框颜色 | border:1px solid实线/dashed虚线/dotted点画线 #ccc |
a标签修饰 | text-decoration:none;(取消下划线) |
透明度 |
opacity:0.5;chrome FF IE9+
filter:alpha(opacity:50);兼容低版本IE
|
6.选择器
选择器中文描述 | 选择器代码 |
标签选择器 | div{100px;height:100px;} |
id选择器<div id="div1"></div> | #div1{100px;height:100px; } |
class类选择器<div class="div1"></div> | .div1{100px;height:100px; } |
*通配选择器(选择document里面的所有) | *{padding:0,margin:0;} |
,群组选择器(逗号是“和”的意思) | div,p{100px;height:100px; } |
空格 嵌套选择器(某标签/类下面的标签/类) | div p{100px;height:100px; } |
伪类选择器:hover :active :visited :link | a标签以外的标签只能用hover和active |
选择器的优先级和权重
!importent>行间>id>class>标签>*
如果两个优先级一样执行最最下面的代码
继承
和文字相关的样式都可以继承,a不能继承颜色,i和em不能继承斜体,b和strong不能继承加粗。
继承没有直接给的大
7.浮动
特性
1.脱离文档流
2.浮动有方向
3.块元素宽度尽可能的窄
4.行内元素会变成块元素
5.宽度不够会掉下来
6.尽可能的往上飘
7.文本环绕
三要素
1.用到浮动必须清浮动
2.同级元素浮动都需要浮动
3.浮动后最好给宽
清除浮动
overflow:hidden; 加给父级
不适合内容超出
clear:both; 同级元素最后添加空标签
left right both
clearFix:after(推荐) 加给父级的class
适用于各种情况
clearFix:after{ content:''; display:block; clear:both;}
clearFix{ zoom:1; } 兼容ie6 7
8.定位
定位 position
相对定位
relative
根据谁定位:根据自己
不脱离文档流
不会改变块元素
不会改变行内元素
大多数情况
1.为了子级定位,自己不脱离文档流
2.提升层级
绝对定位
absolute
脱离文档流( 完全脱离)
根据定位父级定位,如果父级没有定位根据body定位
让块元素宽度尽可能的窄
行内元素变成块
left top right bottom
固定定位
fixed (不兼容IE6)
根据可视区定位
脱离文档流
会让块宽度尽可能的窄
行内变成块
层级
子级层级用永远高于父级层级
负值能实现子级比父级层级低,但是不允许用!
z-index
只对定位元素有效
定位>浮动>普通元素
后写的比先写的层级高
9.透明
opacity:0-1; chrome FF IE9+
filter:alpha(opacity:0-100); 兼容IE
父级透明子级跟着透明
自适应透明
给背景层的父级定位
给背景层定位,必须给宽100%高100%
文字提高层级
.box{500px;height:500px;position:relative;}
.div1{100%;height:100%;position:absolute;top:0;left:0;}
.bg{100%;height:100%;position:absolute;top:0;left:0; background:red;opacity:0.5;filter:alpha(opacity:50);}
p{position:relative;z-index:2;}
<div class="box">
<img src="1.jpg" alt="" />
<div class="div1">
<div class="bg"></div>
<p>文字文字</p>
</div>
</div>
10.背景图合并/雪碧图/css精灵
图片小于50k
好处
减少请求次数
加载速度快
坏处
不利于维护
11.表单
<form action="http://www.baidu.com" method="get">
<input type="text" name="usename" value="">
type 含义
text 文本框
password 密码框
submit 提交
radio 单选框
button 按钮
</form>
下拉框:select 元素可创建单选或多选菜单。
<select>
<option value ="volvo">Volvo</option>
<option value ="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
<textarea>
1.所有浏览器都支持 <textarea>标签。
2.文本区中可容纳无限数量的文本,其中的文本的默认字体是等宽字体(通常是 Courier)。
3.可以通过 cols 和 rows 属性来规定 textarea 的尺寸,不过更好的办法是使用 CSS 的 height 和 width 属性。
4.在文本输入区内的文本行间,用 "%OD%OA" (回车/换行)进行分隔。
</textarea>
<label for="id">id是对应的input的ID</label>
修饰
outline:none 取消焦点
resize:none 取消拖动 (textarea专用)
12.表格table
thead(可省略)
tbody
tfoot(可省略)
tr
td
th(可省略)
border-collapse:collapse;
border-collapse 属性设置表格的边框是否被合并为一个单一的边框,还是象在标准的 HTML 中那样分开显示。
合并/塌陷
colspan 横着 合并,把同一行的格子向右边挤出去一个(所以要删除同一行的td)
colspan=2;同一行删除1个
rowspan 竖着合并,把下面一行的格子挤出去一个(所以要删除掉下面一行的td)
rowspan=2;下一行删除1个
rowspan=3;下一行删除1个和下下行删除1个
rowspan=4;下一行删除1个和下下行删除1个和下下下行删除1个
以此类推一直往下删除
<style>
table{ border:1px solid red; border-collapse:collapse; }
td{ border:1px solid red; 40px; height:20px; }
</style>
</head>
<body>
<table>
<tbody>
<tr>
<td colspan="3"></td>
<td></td>
</tr>
<tr>
<td rowspan="2"></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</body>