HTML從入門到入土 - 列表及定位樣式


date: 2018-07-06 00:13:02
列表是很常見的,橫向菜單欄,豎向菜單欄,新聞列表之類的,還會說到盒子定位中的另一個屬性position,後面會具體補充說這個屬性,以及設置元素堆疊順序的z-index屬性。

列表

list-style-type

設置列表項標記類型,主要有以下幾種

  • none 無標記符號
  • disc 實心圓(默認)
  • circle 空心圓
  • square 實心正方形
  • decimal 數字

list-style-image

使用圖像來替代上面說到的標記,設置image圖像之後,list-style-type屬性將不再起作用,實際使用的時候要避免某些瀏覽器不支持這個屬性,還是要設置list-style-type這個屬性。

li{
	list-style-image:url(image/arrow-right.gif);
	list-style-type:circle;
}

list-style-position

設置何處放置列表項的標記,有兩個屬性值,inside和outside。
inside表示項目標記放置在文本以內,且環繞文本根據標記對齊。
outside默認值,表示標記位於文本左側,列表項標記放置在文本以外,且環繞文本不根據標記對齊。
但是我並沒有發現有什麼區別,至少相對於普通文字列表來說。


list-style屬性也可以直接聲明所有屬性,如下

li{
	list-style:circle outside url(image/arrow-right.gif);
}

z-index屬性

用於調整定位時重疊快的上下位置,類似於ps裏的圖層,值可以爲正整數也可以爲負整數。設置了position之後可以使用這個屬性調整高低關係,默認值爲0。
示例代碼如下

<!DOCTYPE html>
<html>
<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>練習</title>
		<style type="text/css">
		img {
			position:absolute;
			left:0;
			top:0;
			z-index:-1;
		}
	</style>
</head>
<body>
	<h1>z-index屬性值爲負</h1>
	<img src="F:\Programming\Sublime\html\html5\HTML5+CSS3前端技術\Chapter06\理論素材\理論案例\北大青鳥界面\image\bodyBg.jpg" width="502" height="288"/>
	<p>默認值爲0默認值爲0默認值爲0默認值爲0默認值爲0</p>
	<p>-1擁有更低的優先級,顯示在0的後面-1擁有更低的優先級,顯示在0的後面-1擁有更低的優先級,顯示在0的後面-1擁有更低的優先級,顯示在0的後面</p>
	<p>優先級正數大於負數優先級正數大於負數優先級正數大於負數優先級正數大於負數</p>

</body>
</html>

image
將z-index改爲1時效果如下圖所示
image

下拉菜單的實現

主要思想如下,設置dl的position爲相對定位,設置dd不顯示,通過position和z-index設置其位置,當鼠標滑過的時候,是hover屬性,即設置dl:hover dd屬性,使其顯示出來。
最簡單的示例如下

<!DOCTYPE html>
<html>
<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>練習</title>
		<style type="text/css">
		dl{
			position:relative;
			float:left;
			width:100px;
		}
		dd{
			display:none;
			position:absolute;
			z-index:1;
			left:0px;
			top:0px;
		}
		dl:hover dd{
			display:block;
		}

		
	</style>
</head>
<body>
	<dl>
		<dt><a href="#">標題</a></dt>
			<dd>
				<a href="#">第一個</a>
				<a href="#">第二個</a>
			</dd>
	</dl>

	
</body>
</html>

image
下面是一個比較好的下拉菜單示例

<!DOCTYPE html>
<html>
<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>練習</title>
		<style type="text/css">
		*{
            margin:0;
            padding: 0;
        }
        .ul1{
            display: inline-block;
            /*text-decoration: none;*/
            width: 300px;
            height: 40px;
            margin: 150px;
            float: left;
            position: relative;
        }
        li{
            text-align: center;
            line-height: 40px;
            list-style: none;
            display: block;
            background: #2fa0ec;
            border:1px solid;
            width: 100px;
            height:40px ;
        }
        .li1{
            width: 100px;
            height: 40px;
            position: absolute;
            float: left;
        }
        .li2{
            width: 100px;
            height: 40px;
            display: block;
            position: absolute;
            float: left;
            left: 100px;
        }
        .li3{
            width: 100px;
            height: 40px;
            display: block;
            position: absolute;
            float: right;
            left: 200px;
            top:0;
        }
        .second{
            top:40px;
            left: -2px;
            border: 1px solid #ccc;
            display: none;
            position: absolute;
            margin: 0;
        }
        li:hover{
            background: #AA66EE;
        }
        .li1:hover .second{
            /*display: inline-block;*/
            display: block;
        }
	</style>
</head>
<body>
	<ul class="ul1">
        <li class="li1">hah
            <ul class="second">
                <li>doudou</li>
                <li>doudou</li>
            </ul>
        </li>
        <li class="li2">haerh</li>
        <li class="li3">haaah</li>
    </ul>
	
</body>
</html>

image

OK,THANKS FOR READING.BYE BYE~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章