HTML table表頭固定

HTML table表頭固定

說說我在最近項目中碰到的css問題吧,做爲問題知識集合總結筆記:css

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			table tbody {
            display: block;
            height: 200px;
            overflow-y: scroll;
        }
 
        table thead,
        table tbody tr {
            display: table;
            width: 100%;
            table-layout: fixed; /**表格列的寬度由表格寬度決定,不禁內容決定*/
            text-align: center;
        }
 
        thead th,
        tbody td {
            width: 50px;
        }
 
        table thead {
            width: calc( 100% - 1em);/*表頭與表格垂直對齊*/
        }

		</style>
	</head>
	<body>
	<div style="width: 800px;">
        <div class="table-head">
            <table align="center">
                <thead>
                    <tr>
                        <th>序號</th>
                        <th>內容</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>1</td>
                        <td>我只是用來測試的</td>
                    </tr>
                    <tr>
                        <td>2</td>
                        <td>我只是用來測試的</td>
                    </tr>
                    <tr>
                        <td>3</td>
                        <td>我只是用來測試的</td>
                    </tr>
                    <tr>
                        <td>4</td>
                        <td>我只是用來測試的</td>
                    </tr>
                    <tr>
                        <td>5</td>
                        <td>我只是用來測試的</td>
                    </tr>
                    <tr>
                        <td>6</td>
                        <td>我只是用來測試的</td>
                    </tr>
                    <tr>
                        <td>7</td>
                        <td>我只是用來測試的</td>
                    </tr>
                    <tr>
                        <td>8</td>
                        <td>我只是用來測試的</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
</body>

</html>

  順便作作筆記說說px、em、rem的區別:html

  px是固定的像素,一旦設置了就沒法由於適應頁面大小而改變。web

  em和rem相對於px更具備靈活性,他們是相對長度單位,意思是長度不是定死了的,更適用於響應式佈局。瀏覽器

  對於em和rem的區別一句話歸納:em相對於父元素大小,rem相對於根元素大小(html元素)。佈局

  rem中的r意思是root(根源),這也就不難理解了。測試

 

em/rem:用於作響應式頁面,不過我更傾向於rem,由於em不一樣元素的參照物不同(都是該元素父元素),因此在計算的時候不方便,相比之下rem就只有一個參照物(html元素),這樣計算起來更清晰。.net

關於滾動條:

webkit支持擁有overflow屬性的區域,列表框,下拉菜單,textarea的滾動條自定義樣式,因此用處仍是挺大的。固然,兼容全部瀏覽器的滾動條樣式目前是不存在的。htm

css美化瀏覽器默認滾動條樣式:對象

::-webkit-scrollbar {//滾動條的寬度
    width:9px;
    height:9px;
}
::-webkit-scrollbar-thumb {//滾動條的設置
    background-color:#dddddd;
    background-clip:padding-box; /*背景被裁剪到內邊距框   content-box 背景裁剪到內容框*/
    min-height:28px;
}
::-webkit-scrollbar-thumb:hover {
    background-color:#bbb;
}
::-webkit-scrollbar-track-piece { //滾動條凹槽的顏色,還能夠設置邊框屬性
    background-color:#f8f8f8;
}

  給某個div加滾動條設置:blog

.test1::-webkit-scrollbar {
     width: 8px;
}
 .test1::-webkit-scrollbar-track {
     background-color:red;
     -webkit-border-radius: 2em;
     -moz-border-radius: 2em;
     border-radius:2em;
}
 .test1::-webkit-scrollbar-thumb {
     background-color:green;
     -webkit-border-radius: 2em;
     -moz-border-radius: 2em;
     border-radius:2em;
}

滾動條組成

  • ::-webkit-scrollbar 滾動條總體部分
  • ::-webkit-scrollbar-thumb  滾動條裏的滑塊,滾動條裏面的小方塊,能向上向下移動(或往左往右移動,取決因而垂直滾動條仍是水平滾動條)
  • ::-webkit-scrollbar-track  滾動條的軌道(裏面裝有Thumb)
  • ::-webkit-scrollbar-button 滾動條的軌道的兩端按鈕,容許經過點擊微調小方塊的位置。
  • ::-webkit-scrollbar-track-piece 內層軌道,滾動條中間部分(除去)
  • ::-webkit-scrollbar-corner 邊角,即兩個滾動條的交匯處
  • ::-webkit-resizer 兩個滾動條的交匯處上用於經過拖動調整元素大小的小控件

demo樣例:

/*定義滾動條高寬及背景 高寬分別對應橫豎滾動條的尺寸*/
::-webkit-scrollbar
{
	width: 16px;
	height: 16px;
	background-color: #F5F5F5;
}
 
/*定義滾動條軌道 內陰影+圓角*/
::-webkit-scrollbar-track
{
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
	border-radius: 10px;
	background-color: #F5F5F5;
}
 
/*定義滑塊 內陰影+圓角*/
::-webkit-scrollbar-thumb
{
	border-radius: 10px;
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
	background-color: #555;
}

  具體更多樣例能夠參照https://blog.csdn.net/hanshileiai/article/details/40398177

 

:horizontal
//horizontal僞類適用於任何水平方向上的滾動條
 
:vertical
//vertical僞類適用於任何垂直方向的滾動條
 
:decrement
//decrement僞類適用於按鈕和軌道碎片。表示遞減的按鈕或軌道碎片,例如可使區域向上或者向右移動的區域和按鈕
 
:increment
//increment僞類適用於按鈕和軌道碎片。表示遞增的按鈕或軌道碎片,例如可使區域向下或者向左移動的區域和按鈕
 
:start
//start僞類適用於按鈕和軌道碎片。表示對象(按鈕 軌道碎片)是否放在滑塊的前面
 
:end
//end僞類適用於按鈕和軌道碎片。表示對象(按鈕 軌道碎片)是否放在滑塊的後面
 
:double-button
//double-button僞類適用於按鈕和軌道碎片。判斷軌道結束的位置是不是一對按鈕。也就是軌道碎片緊挨着一對在一塊兒的按鈕。
 
:single-button
//single-button僞類適用於按鈕和軌道碎片。判斷軌道結束的位置是不是一個按鈕。也就是軌道碎片緊挨着一個單獨的按鈕。
 
:no-button
no-button僞類表示軌道結束的位置沒有按鈕。
 
:corner-present
//corner-present僞類表示滾動條的角落是否存在。
 
:window-inactive
//適用於全部滾動條,表示包含滾動條的區域,焦點不在該窗口的時候。
 
::-webkit-scrollbar-track-piece:start {
/*滾動條上半邊或左半邊*/
}
 
::-webkit-scrollbar-thumb:window-inactive {
/*當焦點不在當前區域滑塊的狀態*/
}
 
::-webkit-scrollbar-button:horizontal:decrement:hover {
/*當鼠標在水平滾動條下面的按鈕上的狀態*/
}

  僞類與僞元素區別:

參照:http://www.javashuo.com/article/p-vlmyykcm-he.html

相關文章
相關標籤/搜索