html及CSS 扩展学习
第十六章 框架
-
frameset
框架:-
<frameset>
—- 用来定义一个框架;双标签
不能和<body>
一起使用
-
-
rows
、cols
属性-
rows
定义行表示框架有多少行(取值px
/%
/*
) -
cols
定义列表示框架有多少列(取值px
/%
/*
)
-
-
frame子框架
-
<
frame
> —- 表示框架中的某一个部分;单标签,要跟结束标志-
src
显示的网页的路径 -
name
框架名 -
frameborder
边框线(取值 0 / 1)
-
-
<
noframes
>属性 -
<
noframes
> 提供不支持框架的浏览器显示body
的内容;双标签
-
|
|
-
<iframe>
内联框架-
iframe
元素会创建包含另外一个文档的内联框架(即行内框架) - 允许和
body
一起使用 -
width
宽(取值 px / %) -
height
高(取值 px / %) -
name
框架名 -
frameborder
边框线(取值 0 / 1) -
src
显示的网页的路径
-
第十七章 css高级属性
-
opacity
透明属性-
opacity
- 对于
IE6/7/
,使用filter:alpha(opacity:值;
) 值为0-100
- 对于
Webkit
,Opera
,Firefox
,IE9+
,使用opacity
:值; 值为0-1
- 对于早期火狐,使用
-moz-opacity
:值; 值为0-1
- 所以写透明属性时,一般写法是
- 对于
-
|
|
-
border-radius
圆角边框属性- 向
div
元素添加圆角边框-
border-radius:10px
;
-
- 向
-
box-shadow
阴影属性-
box-shadow
属性向框添加阴影效果,后面跟4个参数。 -
box-shadow:0px 0px 10px #000;
-
-
<embed>
属性-
是
HTML5
中新增的标签,媒体嵌入插件标签,可以通过<embed>
插入音频或视频 -
<embed src=“media/music.mp3” />
-
格式
.mid
.wav
.mp3
等
-
- CSS部分导图总结
-
css
常见简写
第三部分 附录
附录一 DIV命名规范
-
企业
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 */
-
-
id的命名:
-
页面结构
- 容器:
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精灵
-
CSS精灵原理以及应用
-
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
进行定义。
|
|
- 更多的
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
影响可访问性
-
附录三 一些tips解决方案
页面优化实践
-
从下面的几个方面可以进行页面的优化:
- 减少请求数
- 图片合并
-
CSS
文件合并 - 减少内联样式
- 避免在
CSS
中使用import
- 减少文件大小
- 选择适合的图片格式
- 图片压缩
-
CSS
值缩写(Shorthand Property
) - 文件压缩
- 页面性能
- 调整文件加载顺序
- 减少标签数量
- 调整选择器长度
- 尽量使用
CSS
制作显示表现 - 增强代码可读性与可维护性
- 规范化
- 语义化
- 模块化
写DIV+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
倍。 -
中文标点用全角
- 英文夹杂在中文中,左右空格,半角。
-
中文字体的粗体和斜体,远离较好
常用代码片段
- 雅虎工程师提供的
CSS
初始化示例代码【仅供参考】- 可以在
html
头文件中直接引用,从而避免浏览器的不兼容带来的错误。
- 可以在
|
|
-
mobile meta
标签
|
|
- 表格不被撑开
|
|
- 不设宽高居中
|
|
- 透明度的兼容代码
|
|
- 文字溢出点点省略
|
|
-
清除浮动的几种方法
-
方法一:
投机取巧法
– 不推荐- 直接一个放到当作最后一个子标签放到父标签那儿,此方法屡试不爽,兼容性强
-
方法二:
overflow + zoom
方法 –不推荐.fix{overflow:hidden; zoom:1;}
- 此方法优点在于代码简洁,涵盖所有浏览器
-
方法三:
after + zoom
方法 -推荐–此方法可以说是综合起来最好的方法了-
clearfix
只应用在包含浮动子元素的父级元素上
-
-
|
|
- 更多代码片段详情
一些总结
-
自动继承属性:
color
font
text-align
-
list-style
…
-
非继承属性:
background
border
-
position
…
-
具有破坏性的元素:
float
display:none;
position:absoblute/fixed/sticky;
-
具有包裹性的元素:
-
display:inline-block/table-cell
-
position:absolute/fixed/sticky
-
overflow:hidden/scroll
-
-
消除图片底部间隙的方法
-
图片块状化-无基线对齐
img{display:block;}
-
图片底线对齐
img{vertical-align:bottom;}
-
行高足够小 - 基线位置上移
.box{line-height:0;}
-
一些概念
-
BFC
- BFC全称
”Block Formatting Context”
中文为“块级格式化上下文”
-
记住这么一句话:
BFC
元素特性表现原则就是,内部子元素再怎么翻江倒海,翻云覆雨都不会影响外部的元素 -
BFC
就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此 -
扩展阅读
- BFC全称
- 优雅降级(
graceful degradation
)- 一开始就构建完整的功能,然后再针对低版本浏览器进行兼容
- 渐进增强
progressive enhancement
:- 是在浏览器开启
JavaScript
功能后,如果浏览器版本不支持某些JavaScript
能力,我们解决这种问题的方式
- 是在浏览器开启
- 平稳退化
- 是在浏览器没有
JavaScript
功能,或没有开启JavaScript
功能情况下,我们解决这种问题的方式;
- 是在浏览器没有
方案荟萃扩展阅读
-
关于布局
-
其他
附录四 部分工具资源
附录五 编码规范
附录六 进阶学习
附录七 其他资源
附录八 常见问题
-
前端指路
-
性能/规范/实践
-
一些问答社区