布局遇到的問題 非常不錯的見解
2020-10-23 18:52:46
供稿:網友
前言
還未等到下一代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>