經過幾天的學習,稍微瞭解了些div+css的網站布局的思路和好處。
本來是confuseLing給我發來了一段代碼,實現了鎖定title和first col的css,但是在使用者體驗上並不好,我整理了一下。言歸正傳,直接說這個的實現。
test.css:
.firstRow {...}{
background-color:#CC9900;
top:expression(this.offsetParent.scrollTop);
z-index:10;
position:relative;
}
.corner {...}{
background-color:#CC9900;
z-index:10;
left:expression(this.parentElement.offsetParent.scrollLeft);
top:expression(this.offsetParent.scrollTop);
position:relative;
}
.firstCol {...}{
background-color:white;
z-index:10;
left:expression(this.parentElement.offsetParent.scrollLeft);
position:relative;
}
.relative{...}{
position:relative;
}
div {...}{
overflow:auto;
width:300px;
height:150px;
}
tr {...}{height:50px;}
test.html:
<html>
<head>
<title>test css</title>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<link href="test.css" type="text/css" rel="stylesheet">
</head>
<body>
<div>
<table border="1px" cellpadding="0" cellspacing="0" width="500px">
<tr class="firstRow">
<td class="corner">1th Row</td>
<td class="relative">1th Row</td>
<td class="relative">1th Row</td>
<td class="relative">1th Row</td>
<td class="relative">1th Row</td>
</tr>
<tr class="relative">
<td class="firstCol">2th Row</td>
<td>2th Row</td>
<td>2th Row</td>
<td>2th Row</td>
<td>2th Row</td>
</tr>
<tr class="relative">
<td class="firstCol">3th Row</td>
<td>3th Row</td>
<td>3th Row</td>
<td>3th Row</td>
<td>3th Row</td>
</tr>
<tr class="relative">
<td class="firstCol">4th Row</td>
<td>4th Row</td>
<td>4th Row</td>
<td>4th Row</td>
<td>4th Row</td>
</tr>
</table>
</div>
</body>
</html>
這個的使用者體驗並不好,尤其是scroll之後,畫面的邊緣有略微的毛邊,是不是可以把table border幹掉,然後每個cell 設定 cell border,可以解決這個問題,今天我是沒有空來探討啦。
另外這個css的expression並不支援最新的css2.0和html4.0標準。雖然最新的ie支援但是加上了w3c的標準後,程式像預想一樣正常運行。
這裡介紹一個軟體:
TopStyle Pro 3.0 可以檢測css是否符合w3c的web 2.0標準。
至少因為使用了expression。上述代碼無法通過web 2.0的:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">標準
TopStyle Pro 3.0 試用期註冊表破解欄位為:
HKU/S-1-5-21-1177238915-1580818891-1060284298-500/Software/Microsoft/Windows/CurrentVersion/WinSHTrack
是論日算的,從那天起不知道,但是你給它加1000天,就慢慢使用吧。
使用RegShot 監測的c:/和註冊標的變化查到的這個欄位,雖然還是很討厭的會彈出試用框,但是畢竟可以長期使用了。