Div+CSS對(duì)HTML的table表格定位用法實(shí)例

關(guān)于css定位有很多文章講述:
如果有一個(gè)元素div ,他的position屬性設(shè)置為absolute,那么這個(gè)div 的位置取決于其父元素中position值設(shè)置為relative的元素。如果在其父元素中沒(méi)有一個(gè)元素的position值是relative、absolute、或者fixed,那么這個(gè)div位置將以 body位置為參考。
但是對(duì)于某些瀏覽器來(lái)說(shuō)似乎不是每個(gè)元素都遵從這一規(guī)則,有如下一段代碼
- table{
- margin-left: 100px;
- margin-top: 50px;
- }
- td{
- height: 150px;
- width: 100px;
- position: relative;
- }
- td div{
- height: 30px;
- width: 50px;
- background-color: red;
- position: absolute;
- left: 10px;
- top:50px;
- }
- <table border="1">
- <tr>
- <td></td>
- <td></td>
- <td>
- <div>這是一個(gè)position:absolute元素</div>
- </td>
- </tr>
- </table>
由于div元素的尺寸較小,理想的情況是div總是在最后一個(gè)td中,但是在firefox中div并不以td為參考,而是body。
所以要實(shí)現(xiàn)這個(gè)效果的兼容方式是在td中添加一個(gè)能應(yīng)用position:relative的元素,上述代碼可以更改為
- <table border="1">
- <tr>
- <td></td>
- <td></td>
- <td>
- <div style="position:relative;"
- <div>這是一個(gè)position:absolute元素</div>
- </div>
- </td>
- </tr>
- </table>
這樣就可以保證 div元素始終在td中。
table的td相對(duì)定位實(shí)例
下面我們來(lái)看一個(gè)處理td相對(duì)定位的實(shí)例,這里我們建兩個(gè)table樣式:table和table2
- .table,.table2
- {
- overflow:hidden;
- }
- .table > .header
- {
- position:relative;
- height:40px;
- background-color:#84a9cc;
- }
- .header > .header-title
- {
- margin:0 auto;line-height:40px;color:#fff;width:80px;text-align: center;font-size:14px;
- }
- .header > .header-add
- {
- background-color: #488FD2;
- color: #FFFFFF;
- cursor: pointer;
- height: 20px;
- line-height: 20px;
- padding: 10px;
- position: absolute;
- rightright: 0;
- text-align: center;
- top: 0;
- width: 45px;
- }
- .header > .header-search
- {
- background-color: #fff;
- height: 30px;
- line-height: 20px;
- position: absolute;
- rightright: 80px;
- text-align: center;
- top: 5px;
- width: 200px;
- }
- .table > .body,.table2 > .body
- {
- border: 1px solid #BCC6D0;/border-style:none solid solid solid;/background-color:#fff;
- }
- .header-search > input
- {
- border:none;
- border-right: 1px solid #BCC6D0;
- color: #666666;
- font-size: 14px;
- height: 100%;
- line-height: 100%;
- width: 170px;
- float:left;
- }
- .header-search > .search-logo
- {
- float:left;width:29px;height:30px;
- background:url(…/…/images/global/serachBlue.png) center no-repeat;
- }
- tbody > .tr
- {
- height:20px;line-height:20px;
- }
- th
- {
- display:inline-block;margin-right:-3px;
- }
- th + th
- {
- margin-left:-3px;
- }
- td
- {
- padding:10px 0;display: inline-block;margin-right: -3px;
- }
- td + td
- {
- margin-left: -3px;
- }
- tbody > .tr:nth-child(2n+1)
- {
- background-color:#e6e5e5;
- }
- .table2 tbody > .tr:nth-child(2n+1)
- {
- background-color:#fff;
- }
- .ml30
- {
- margin-left:30px;
- }
- .tr .checkbox
- {
- width:20px;border:1px solid #BCC6D0;height:20px;cursor:pointer;float:left;
- }
- .tr .checkbox.selected
- {
- background-color:#488FD2;
- }
- .tr .checkbox > input[type=‘checkbox’]
- {
- display:none;
- }
- table.body,table2.body
- {
- width:100%;
- overflow-y:auto;
- }
- .body
- {
- margin:0;
- }
- td, td div
- {
- font-size:14px;text-align: center;
- }
- .canClick
- {
- color:#2E5CB9;cursor:pointer;
- }
- .btn {
- background-color: #488FD2;
- color: #FFFFFF;
- cursor: pointer;
- font-size: 14px;
- padding: 6px 10px;
- }
- .line > .submit
- {
- float:rightright;padding:10px 25px;
- }
- .btnPush > .tagRight {
- background: url("…/…/images/global/smallGotoRight.png") no-repeat scroll center center #9EC5EB;
- float: left;
- height: 85px;
- width: 8px;
- }
- .opcity5
- {
- opacity:0.5;
- filter:alpha(opacity=50);
- }
- .search {
- background-color: #FFFFFF;
- height: 30px;
- line-height: 20px;
- text-align: center;
- width: 210px;
- }
- .search > input
- {
- border:none;
- border: 1px solid #BCC6D0;
- color: #666666;
- font-size: 14px;
- height: 28px;
- line-height: 100%;
- width: 170px;
- float:left;
- }
- .search > .search-logo
- {
- float:left;width:29px;height:30px;
- background:url(…/…/images/global/searchWhite.png) center no-repeat #488FD2;
- }
- .tableRight
- {
- float:left;margin-left:20px;width: 962px;
- }
- .btnLeft
- {
- float:left;
- }
- th {
- font-size: 14px;
- font-weight: normal;
- line-height: 35px;
- height:35px;
- }
- .textl {
- text-align: left;
- }
- .table2 td
- {
- border-top:1px solid #BCC6D0;
- }
- .hoverTag
- {
- cursor:pointer;position: relative;
- }
- .titTag
- {
- min-width:135px;height:50px;display:none;position:absolute;
- }
- .titTag > .titTag-left, .titTag > .titTag-msg
- {
- float:rightright;
- }
- .titTag > .titTag-left
- {
- width:15px;
- height:100%;
- }
- .titTag > .titTag-msg
- {
- background-color:#fcffe0;min-width:119px;border:1px solid #BCC6D0;height:48px;text-align:left;
- }
相關(guān)文章
- 這篇文章主要介紹了淺析Table 和 div 的簡(jiǎn)介及用法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-25