HTML5
简化的定义的方式 <!DOCTYPE html>
<meata charset="UTF-8">
type
类型,如 link
script
mqrquee
HTML
标签中添加样式属性,如 img
标签中添加宽高 @import
,此方式最大的缺点是引用 css
文件不能同时并行下载 JavaScript
禁用的提示信息,最常用的方式是使用 <noscript>
meta
标签 p
ul
dl
p
em
strong
table
site
blockquote
nav
header
footer
article
section
aside
hground
HTML
中用于表达外观的部分从HTML中删除,并用css实现。如 <span>|</span>
中的 |
用css的伪类实现即可 img
标签,如果图片仅仅是装饰作用,应该使用背景图片方式 label
标签,并设置 label
标签的 for
属性 placehoder
tab
顺序, tabindex
用来设置输入控件的切换顺序 <input type="text" tabindex="2">
HTML5
中引入的表单控件 url email date search
HTML
代码 css
实现 table
布局 css
类的命名规则和元素的 id
命名规则相似,只是组成类名的关键字的连接符为中划线 -
.reder-content-title
class
命名的重复,命名时取父元素的 class
作为前缀 css reset
统一浏览器的显示效果 css
样式定义排序,最佳是按类型分组排序 css
的权重,提高代码的重用性 css
样式中尽量不要使用 ID
选择器,最佳实践尽可能使用较低权重的选择器作为基础样式 css
选择器 em
px
%
w3c
把尺寸单位分为相对长度单位和绝对长度单位两种。 em
ex
ch
rem
vw
vh
vmin
vmax
em
px
百分比 em
计算是相对自身元素的字体尺寸的, rem
相对于根元素的字体大小计算, 百分比是相对于父元素的尺寸的 em
设置字体大小 css
选择器定义最佳实践 id
选择器前使用标签名 css
相关图片处理 css
雪碧图技术 css
代码量 css
规则 css
规则 var
JavaScript
的严格模式 use strict;
pserson={age:22,name:"poetries"}
list=[12,23,55]
===
和 !==
而不是 ==
和 !=
with
语句和 eval()
width
关键字 this
不在默认指向全局 eval()
JavaScript
逻辑中分离 css
样式 JavaScript
中分离 HTML
结构 JavaScript
模块化的开发,提高代码的可维护性 JavaScript
的两种模块化规范 ComonJS
AMD
ComonJS
以同步的方式加载,使用 require()
方法来加载模块 AMD
以异步的方式加载模块 Ajax
技术,适合的使用场景有
企业 DIV
使用频率高的命名方法
标题: title
summary
arrow
label
logo
corner
banner
subMenu
search
searchBox
login
loginbar
toolbar
drop
tab
current
list
scroll
service
msg
hot
news
tips
download
title
hot
joinus
regsiter
guide
friendlink
status
copyright
btn
partner
vote
left
right
center
/* Footer */
内容区 /* End Footer */
页面结构
container
header
content
/ container
main
footer
nav
sidebar
column
wrapper
left
right
center
导航
nav
mainbav
subnav
topnav
sidebar
leftsidebar
rightsidebar
menu
submenu
title
summary
功能
logo
banner
login
loginbar
regsiter
search
shop
title
joinus
status
btn
scroll
tab
list
msg
current
tips
icon
note
guild
service
hot
news
download
vote
partner
link
copyright
class
的命名:
颜色:使用颜色的名称或者16进制代码,如
.red { color: red; }
.f60 { color: #f60; }
.ff8600 { color: #ff8600; }
字体大小,直接使用”font+字体大小”作为名称,如
.font12px { font-size: 12px; }
.font9px {font-size: 9pt; }
对齐样式,使用对齐目标的英文名称,如
.left { float:left; }
.bottom { float:bottom; }
标题栏样式,使用”类别+功能”的方式命名,如
.barnews { }
.barproduct { }
推荐的 CSS
书写顺序:
显示属性
display
list-style
position
float
clear
自身属性
width
height
margin
padding
border
background
文本属性
color
font
text-decoration
text-align
vertical-align
white-space
other text
content
CSS
雪碧的基本原理是把你的网站上用到的一些图片整合到一张单独的图片中,从而减少你的网站的HTTP请求数量。 CSS
background和background-position
属性渲染,这也就意味着你的标签变得更加复杂了,图片是在 CSS
中定义,而非 <img>
标签。 CSS
做成按钮的样式,我们可以使用同一张图片,完成按钮的三个状态, a:link
, a:hover
, a:active
<a class="button" href="#">链接</a>
200px 65px
的三个按钮图拼合而成的图片 button.png
,从上到下一次为按钮的普通、鼠标滑过、鼠标点击的状态。则可以使用 CSS
进行定义。 a { display:block; width:200px; height:65px; line-height:65px; /*定义状态*/ text-indent:-2015px; /*隐藏文字*/ background-image:url(button.png); /*定义背景图片*/ background-position:0 0; /*定义链接的普通状态,此时图像显示的是顶上的部分*/ } a:hover { background-position:0 -66px; /*定义链接的滑过状态,此时显示的为中间部分,向下取负值*/ } a:active { background-position:0 -132px; /*定 义链接的普通状态,此时显示的是底部的部分,向下取负值*/ }
CSS
雪碧,图片更复杂,背景定位更精确。可能会用到大量的数值 background:url(nav.png) -180px 24pxno-repeat
; 来达到更精确的定位 sprite
技术的其中一个好处是图片的加载时间(在有许多 sprite
时,单张图片的加载时间)。由所需图片拼成的一张 GIF
图片的尺寸会明显小于所有图片拼合前的大小。单张的 GIF
只有相关的一个色表,而单独分割的每一张 GIF
都有自己的一个色表,这就增加了总体的大小。因此,单独的一张 JPEG
或者 PNG
sprite
在大小上非常可能比把一张图分成多张得来的图片总尺寸小。 bug
IE6
不会主动预加载鼠标滑过即 a:hover
中的背景图片,所以,如果使用多张图片,鼠标滑过会出现闪白的现象。使用 CSS
雪碧,由于一张图片即可,所以不会出现这种现象。 CSS
雪碧的最大问题是内存使用 CSS
的编写变得困难 CSS
雪碧调用的图片不能被打印 Sprites
影响可访问性 从下面的几个方面可以进行页面的优化:
CSS
文件合并 CSS
中使用 import
CSS
值缩写( Shorthand Property
) CSS
制作显示表现 不要使用过小的图片做背景平铺
1px
的原因,这才知晓。宽高 1px
的图片平铺出一个宽高 200px
的区域,需要 200200=40, 000
次,占用资源 无边框
border:none
;,哈哈,我一直在用这个。 border:0;
只是定义边框宽度为零,但边框样式、颜色还是会被浏览器解析,占用资源 慎用 通配符
CSS
中的所有标签均初始化,不管用的不用的,过时的先进的,一视同仁,这样,大大的占用资源。要有选择的初始化标签。
CSS
的十六进制颜色代码缩写
样式放头上,脚本放脚下。不内嵌,只外链
坚决不用 CSS
表达式
使用 引用样式表,而不是通过 @import
导入。
一般来说, PNG
比 GIF
要小,小得多。再者, GIF
中有多少颜色是被浪费的,很值得优化。
千万不要在 HTML
中缩放图片,一者不好看,二者占资源。
正文字体最好用偶数
12px
、 14px
、 16px
,效果非常好。特例, 15px
。
block
、 ul
、 ol
等上下留出至少一倍行距,左侧至少两倍行距,右侧随意。
段落之间,至少要有一倍行距
强行指定某些元素的 line-height
,正文 1.6
倍于文字大小,标题 1.3
倍。
中文标点用全角
中文字体的粗体和斜体,远离较好
p
- 段落 h1,h2,h3,h4,h5,h6
- 层级标题 strong,em
- 强调 ins
- 插入 del
- 删除 abbr
- 缩写 code
- 代码标识 cite
- 引述来源作品的标题 q
- 引用 blockquote
- 一段或长篇引用 ul
- 无序列表 ol
- 有序列表 dl,dt,dd
- 定义列表 CSS
初始化示例代码【仅供参考】 html
头文件中直接引用,从而避免浏览器的不兼容带来的错误。 body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td { margin:0; padding:0; } body { background:#fff; color:#555; font-size:14px; font-family: Verdana, Arial, Helvetica, sans-serif; } td, th, caption { font-size:14px; } h1, h2, h3, h4, h5, h6 { font-weight:normal; font-size:100%; } address, caption, cite, code, dfn, em, strong, th, var { font-style:normal; font-weight:normal; } a { color:#555; text-decoration:none; } a:hover { text-decoration:underline; } img { border:none; } ol,ul,li { list-style:none; } input, textarea, select, button { font:14px Verdana,Helvetica,Arial,sans-serif; } table { border-collapse:collapse; } html { overflow-y: scroll; } .clearfix:after { content: "."; display: block; height:0; clear:both; visibility: hidden; } .clearfix { *zoom:1; }
现代浏览器 cssreset
解决方案【推荐使用这个】
mobile meta
标签
<metaname=”viewport”content=”width=320,target-densitydpi=dpi_value,initial-scale=1,user-scalable=no”/>
table-layout: fixed; word-break: break-all;;border-collapse: collapse
<divid=”abc”style=”display:table;text-align:center;width:100%;height:100%;”> <spanstyle=”background:#f00;display:table-cell;vertical-align:middle;”> <inputtype=”button”value=”item1″/> </span> </div>
filter:alpha(opacity=50); /*1-100*/ -moz-opacity:0.5; /*0-1.0*/ -khtml-opacity:0.5; /*0-1.0*/ opacity:0.5; /*0-1.0*/
文本溢出的几种处理方法
简单隐藏
div.hide{overflow:hidden}
div.scroll{overflow:scroll}
div.clip{ border:1px solid; overflow:hidden;/*超出隐藏*/ white-space:nowrap;/*强制在一行显示*/ text-overflow:clip;/*裁切*/ }
div.elli{ overflow:hidden; white-space:nowrap; text-overflow:ellipsis;/*使用省略号*/ }
清除浮动的几种方法
方法一: 投机取巧法
– 不推荐
方法二: overflow + zoom
方法 –不推荐
.fix{overflow:hidden; zoom:1;}
方法三: after + zoom
方法 -推荐–此方法可以说是综合起来最好的方法了
clearfix
只应用在包含浮动子元素的父级元素上 .clearfix{zoom:1;} .clearfix:after{ display:block; content:'clear'; clear:both; line-height:0; visibility:hidden; }
.clearfix:after, .clearfix:before {/*before 是为了防止浏览器顶部空白的崩溃*/ content: " "; display: table; } .clearfix:after { clear: both; }
清除浮动的原理是触发 BFC
,这里只有 clear:both
起清除浮动作用,其他的 line-height:0; visibility:hidden;
都是为了隐藏生的内容需要的