网页设计摘要
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
流式布局
一、百分号计算
目标元素宽度÷上下文元素宽度=百分比宽度
二、em计算
1、浏览器的默认字体大小是16px
2、如果元素自身没有设置字体大小,那么元素自身上的所有属性值如
“boder、width、height、padding、margin、line-height”等值,我们都可以按下面的公式来计算
1 ÷父元素的font-size ×需要转换的像素值 = em值
3、这一种千万要慢慢理解,不然很容易与第二点混了。
如果元素设置了字体大小,那么字体大小的转换依旧按第二条公式计算,也就是下面的:
1 ÷父元素的font-size ×需要转换的像素值 = em值
那么元素设置了字体大小,此元素的其他属性,如
“border、width、height、padding、margin、line-height”计算就需要按照下面的公式来计算:
1 ÷元素自身的font-size ×需要转换的像素值 = em值
首页、列表页、内容页面等
拆分图纸
网页的版式、颜色,做原料分离,包括尺寸坐标、颜色、背景图、装饰性的线框、特殊字体、装饰图片等;
1、分离颜色,配色提取包括基本配色、普通链接配色和导航部分配色。
1)基本配色:页面、分栏、表格等的背景色。
2)普通配色:普通文字中间出现的链接,包括内容目录和文字内出现的链接等;
3)导航部分配色:页面内栏目及导航条部分的配色。
2、提取出组装页面用的布局尺寸、背景图、边框及装饰线、特殊插图等元件。
1)提取尺寸:CSS盒模型中的边界(margin)、边框(border)、填充(padding)、宽度(width)、高度(height)以及XY坐标等。
2)分离背景图:背景图一般包括大面积的重复图案区,还有一种情况是特殊样式的边框、阴影、装饰线等。
3)分离图片:包括装饰性大图、特殊字体的标题或者导航菜单、特殊的小图标。
浏览器兼容
1、d iv的垂直居中问题
vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px;然后插入文字,就垂直居中了。缺点是要控制内容不要换行。
2、m argin加倍的问题,浮动IE产生的双倍距离
设置为float的div在IE下设置的margin会加倍。这是一个ie6都存在的bug。解决方案是在这个div里面加上display:inline;
block元素的特点是,总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline元素的特点是,和其他元素在同一行上,不可控制(内嵌元素);
3、I E与CSS宽度和CSS高度的问题div
IE不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。
这样问题就大了,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。
比如要设置背景图片,这个宽度是比较重要的。要解决这个问题,
可以这样:
#box{ width: 80px; height: 35px;}
html>body #box{
width: auto; height: auto;
min-width: 80px; min-height: 35px;
}
4、页面的最小宽度
min-width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。但IE不认得这个,而它实际上把 width当做最小宽度来使。
为了让这一命令在IE上也能用,可以把一个
然后CSS这样设计:
#container{
min-width: 600px;
width:expression_r(document.body.clientWidth<600?"600px":"auto");} 第一个min-width是正常的;CSS制作但第2行的width使用了Javascript,这只有IE 才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。
5、D IV浮动IE文本产生3象素的bug
左边对象浮动,右边采用外补丁的左边距来定位。右边对象内的文本会离左边有3px的间距
#box{float:left; width:800px;}
#left{float:left; width:50%;}
#right{ width:50%;}
*html #left{ margin-right:-3px; //这句是关键}
6、I E捉迷藏的问题
当div应用复杂的时候每个栏中又有一些链接,DIV等这个时候容易发生有些内容显示不出来,当鼠标选择这个区域是发现内容确实在页面。
解决办法:
对#layout使用line-height属性或者给#layout使用固定高和宽。页面结构尽量简单。
7、f loat的自适应高度
作为外部 wrapper 的 div 不要定死高度,div CSS制作为了让高度能自动适应,要在wrapper里面加上overflow:hidden; 当包含float的box的时候,高度自动适应在IE 下无效,这时候应该触发IE的layout私有属性(万恶的IE啊!)用zoom:1;可以做到,这样就达到了兼容。
例如某一个wrapper如下定义:
.colwrapper{overflow:hidden; zoom:1; margin:5px auto;}
8、高度不能自适应