当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 布局遇到的问题 非常不错的见解

CSS样式表
用css实现图片垂直居中的使用技巧
CSS List Grid Layout 图片垂直居中
IE6网页神奇BUG
Marquee高级用法实例代码
web标准知识——从p开始,循序渐进
web标准知识——用途相似的标签
html链接与文本标签们
当标题不能显示完整的解决方法
详解链接的rel与target区别
使css兼容IE8的小技巧
CSS 首字母大写代码
CSSvista可同时在IE和Fifrefox调试的CSS编辑提供下载
css font缩写总结附实例
css下margin、padding、border、background和font缩写示例
用CSS来控制图片显示大小的代码
css下划线颜色一句话代码
css常见问题解决方法小结
relative absolute无法冲破的等级问题解决
div总是被select遮挡的解决方法
CSS文字截取功能实现代码

CSS样式表 中的 布局遇到的问题 非常不错的见解


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 145 ::
收藏到网摘: n/a

前言
还未等到下一代WEB开发技术RIA技术成熟之前,当然还得与HTML作斗争。前段时间《网站重构》炒得挺热,
这些都是进步,的确给我们新的思想。在这里总结一些开发中的点滴经验。
布局
1、上下左右布局
刚开始学制作页面,用的是MM的DW软件,可视化,让更多人学会网页制作。
还记得当初做页面用的还是DW,一个朋友问过我这一样一句话:"做网页表格多还是用层多,有什么区别?"。
我告诉他其实DW中用布局-布局表格,很快画出整个页面的框架, 然后一步步细化。做页面是挺快的事情,建议用表格,用层不好控制位置。
现在想起来真是有点误导的成份。哈,不过也许,进步需要一个过程。
《网站重构》春风吹来,用层进行页面布局的确给予我们开发带来了新的思想。
优点:
页面更清晰,代码量减少;
CSS的应用更广泛。
上下排,分层清晰,代码demo:
<div id="head">
</div>
<div id="body">
</div>
<div id="bottom">
</div>

左右排,可以用绝对定位
#head{
position:absolute
top;10px;
left:200px;
}
<div id="head">
</div>

2、DIV中的尽量少嵌套DIV,可用<p><span>
3、用padding控制层之间的分隔
<div>
</div>
<div style="padding-top:10px">
</div>
4、用border制作结构之间的分隔线
<div style="border-bottom:1px #000 solid">
</div>
5、可以用CSS的少用图片
页面布局demo(可查看源码,比以往TABLE布局的清晰多了):
http://davidblog.blogdriver.com/davidblog/inc/demo_div.jpg
form
1、form的margin以及padding
以往在页面中插入一个表单时,总是觉得margin,padding默认不为0,有时会影响页面的布局.
可以用CSS将其设加0
form{
margin:0 0 0 0px;
padding:0 0 0 0px;
}
同样p标记或其它标记你也可以定义.
2、select
optgroup的应用
3、为checkbox或radio加上label
<input id=today type=radio value="" checked><label for=today >今日</label>
4、button
前一个项目用的是图片的button。逐渐发觉应用中的缺陷。
建议还是用CSS美化。
其实CSS可以实现更美观的button

table
该用table还是得用table的。table 始终有他优胜的一面。
例如一些数据显示的GRID或结构比较统一的,分行分列的布局.
table 相关技巧


CSS Expressions的应用
用CSS应用可减少代码的编写
1、table 鼠标事件
<style>
tr{
background-color:expression((this.rowIndex%2==0)?"#e5e5e5":"#e5e5e5");
ryo:expression(
onmouseover=function()
{this.style.backgroundColor='#ffffff'},
onmouseout=function()
{this.style.backgroundColor='#e5e5e5'}
)
}
</style>
2、
width:expression{document.body.clientWidth<800 ? "760" : "1003"}

值得留意的标记
<menu>
<li>菜单1</li>
<li>菜单2</li>
</menu>
<ul>
<li>
<dd>
<tt>
<u>
<fieldset>
<legend>Health information:</legend>
Height <input type="text" size="3" />
Weight <input type="text" size="3" />
</fieldset>
<sup>superscript</sup>