天天看点

***HTML +CSS 总结与归纳

一、首先W3C标准

结构、表现、动作  与  html、css、javascript相对应,它本意是结构表现分离,而且按照html规范编写结构。

标签方面:

-所有标签都要小写、关闭、并且合理嵌套,id不能重复

-标签要有属性,属性必须有值,并且用“”表示

-img标签不能忽略alt属性

-表格标签不适用height属性

-尽量减少ifream的使用会影响浏览器响应速度,虽然在html5中也能使用ifream

内容模型:

-body、form、blockquote仅能包含块级元素

-文本、图像、链接等内联元素不能直接暴露在body标签中,必须用其他标签包裹

-内联元素不能包含块级元素

其他方面:

-特殊字符用编码表示

番外:

初学者的误区:

1、div是万能的!

2、table是丢人的!

3、为标准而标准

1、div严格意义上称作容器,大家有一些页面的装饰可以通过嵌套div来实现,但是千万不能整个页面全都用div来编写,很多标签是有特定含义的,比如说h1~h3,p,strong等,在html5中就更加语义化了比如,footer、head、nav、article、section等标签,还有很多标签,我这里只说常用的一些标签,而且如果整个页面全都用div来写不便于搜索引擎搜索到你的网站。

2、table并不丢人,只不过很少用而已,table是用来装载数据的,所有标签只要合理应用就不会丢人。

3、我们写网站网页其实说白了是为了客户和用户来看的,根据他们的需求我们学出对应的网站,我们强调页面应该灵活编写,不能死板的来。

二、你必须掌握的

1、块状元素和内联元素

(1)块状元素

块元素一般是其他元素的的容器元素,块元素一般从新的一行开始,它可以容纳文本、内联元素和其他块状元素,通过width和height属性可以设置其大小,常见的块元素有 h标签 和p标签、div标签

番外:form标签也属于块标签并且只能容纳块级标签

(2)内联元素

内联元素非块级元素。内联元素只能容纳文本或者其他内联元素,不会独占一行,width和height对其不起作用,常见的内联元素有 a img span 等

番外: 这里我提一下 w3c为了让开发人员更方便 增加了一个 inline-block 属性值 ,包含块状元素的特点:能够改变元素大小,也包含内联元素的特点:大小只有盒内元素大小

2、盒子模型

下图能代表所有,具体和深入请看各种大神技术博:

***HTML +CSS 总结与归纳

3、css页面控制样式方法

(1)行内式

(2)内嵌式

(3)链接式

(4)导入式

优先级:

就近元素,行内>内嵌>链接>导入,在国内经前端经常用的是 链接式。

4、常用选择器

-标签选择器(div、p)

-id选择器(#)

-类选择器(.)

-通用选择器(*)

-伪类选择器(:link,:active,:hover,:visited)

ID>类>标签>通用

5、文本流

文本流讲述的是一个概念性的东西,页面内的元素是:从上至下、从左自右的顺序进行排列的。

如何脱离文本流?

我们为了方便布局,通常使用浮动和定位的方式布局

6、命名方法

-骆驼命名法

-帕斯卡命名法

-匈牙利命名法

-或者全首字母大写

命名规则:

头:head/header

内容:content/container

尾:foot/footer

导航:nav/navigation

侧栏: sidebar

三、css的控制能力

1、首行缩进

text-indent:2em; 

如果文字是英文,也是缩进2个汉字的宽度

知识点:

px 像素

rem 相对浏览器的单位

% 百分比单位

cm、mm 绝对单位

2、增强页面文字灵活性

在body中设置文字大小font-size:62.5% 在需要设置12px的地方设置文字大小为1.2em以此类推14px相对1.4em

因为任意浏览器默认字体高度为16px   1em=16px

1px=1/16em   10px=10/16em=0.625em=0.625*1em=62.5%*1em

12px=62.5%*1.2em

14px=62.5%*1.4em

16px=62.5%*1.6em

ie下设置1.2em会比12px大,为什么? 怎么处理?

因为ie浏览器总是吧 62.5 小数点换算错所以我们以后设置页面大小直接设置为63%就可以兼容所有浏览器

3、浮动和定位

浮动:

float:left

float:right

定位:

position:absolute

position:relative

清除浮动:

-clear:both

-clear:left

-clear:right

浮动清除的并不是本元素的浮动,清除的是上级元素对于本元素的影响,我们可以讲页面整体分为三级

第一级是文本流 也就是页面默认的显示方式

第二级是浮动 它脱离文本流向上一层

第三级是定位 它是比浮动更高一级的为第三级

4、position

-absolute

-relative

-static

-Inherit

-Fixed

Absolute:绝对定位,绝对定位的元素的位置相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块,绝对定位比较灵活如果你想,可以定位到浏览器的任意点

Relative: 相对定位,相对与父级盒子定位

static:默认的元素定位方式

inherit:继承父级盒子的position属性   这个没多大用,如果我们要继承的话,倒不如自己重写一个省的自己再找一遍元素。

Fixed:元素固定在浏览器body的一个位置,浏览器上拉下拉都不会改变位置

番外:一般网站都是都是以浮动为主,定位为辅,你们可以看看现在的淘宝网站。

5、CSS Reset 

css样式具有继承和重置的作用

常用的CSS Reset

*{ margin:0,padding:0 }

body,div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,textarea,th,td {padding:0; margin:0;}

table {border-collapse: collapse; border-spacing: 0;}

img {border: 0;}

ol,ul{list-style: none;}

h1,h2,h3,h4,h5,h6 {font-weight: normal; font-size: 100%;}

四:页面调试/纠错方法

1、页面debug调试

2、排除法

3、设置背景法

网站的页面的加载顺序是按照文本流的顺序加载,

我们编写页面优先考虑:

1、搜索引擎加载

2、便于浏览者观察

3、页面结构简单整洁

最后

如何联系我:【万里虎】www.bravetiger.cn

【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起)

【博客】http://www.cnblogs.com/kenshinobiy/