亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 網頁設計 > 正文

網頁制作不得不知道的幾個技巧

2024-08-30 08:34:20
字體:
來源:轉載
供稿:網友

一、 IE6 下z-index無效。
在CSS中,通過z-index這個屬性改變層級,要讓z-index起作用有個前提,就是元素的position屬性要 是relative,absolute或是fixed。
z-index層級越高,內容越應該在上面顯示。在大部分的瀏覽器在大部分的情況下,確實如此,但是不絕對,尤其遇到IE6。

1、關于效果截圖的些必要說明
下面的不是廢話,是為了更容易的理解我下面唾沫橫飛的內容。
以下所有結果截圖的大背景如下:
1、頁面上固定不動的,一成不變的,送豪宅也不會從良的是一個黑色背景,透明度40%,幾乎滿屏顯示的層級為1的絕對定位層。HTML為:
<div></div>
對應CSS為:#blank{width:100%; height:600px; background:black; opacity:0.4; filter:alpha(opacity=40); position:absolute; left:0; top:0; z-index:1;}
作用是為了讓層級關系一目了然??矗?
這說明內容在z-index為1的絕對定位層之下。

這說明內容在z-index為1的絕對定位層之上。
2、頁面上做對比的是美女圖片,圖片在半透明黑色絕對定位層的上面還是下面很容易辨別,這樣,您就能夠對我所說的z-index不起作用有很直觀的認識了。
2、IE6的抱怨:浮動讓我沉淪
現在開始真正的講述問題的產生,原因以及解決了。首先講講第一種z-index無論設置多高都不起作用情況。這種情況發生的條件有三個:1、父標簽 position屬性為relative;2、問題標簽無position屬性(不包括static);3、問題標簽含有浮動(float)屬性。
您可以拿下面的代碼自己做個簡單測試:
<div></div>
<div style="position:relative; z-index:9999;">
<img style="float:left;" src="http://image.VeVb.com/image/study/s/s256/mm2.jpg" />
</div>
丫的,這z-index都9999了,層級夠高吧,但是,看下面的圖:

這一對比就知道問題了,可能有人會疑問,這會不會是IE6的relative自己感冒了,而不是浮動(float)攜帶了“甲流病毒”。好,我現在去掉浮動,HTML代碼如下:
<div></div>
<div style="position:relative; z-index:9999;">
<img src="http://image.VeVb.com/image/study/s/s256/mm2.jpg" />
</div>
結果IE6下:
我想,問題應該都清楚了,至于原因,我起初以為是haslayout搞的鬼,后來,用zoom一測試,發現不是(IE7下無此bug也證明不是 haslayout的原因),似乎就是這個float會讓z-index失效。由于將外部div的position:relative屬性改為 absolute可以解決這一問題,我就懷疑是不是浮動讓relative發生了些變化,float與relative在水平定位上可以說是近親,會不會 是因為這兩者攪和在一起所以什么“畸形”“體弱多病”就出現了。這僅是我的猜測而已,真正的原因還是去問IE6的后媽吧。
解決方法,解決方法有三,1、position:relative改為position:absolute;2、去除浮動;3、浮動元素添加position屬性(如relative,absolute等)。
3、固執的IE6:它只認第一個爸爸
可能不少人知道,這IE6下,層級的高低不僅要看自己,還要看自己的老爸這個后臺是否夠硬。用術語具體描述為:
父標簽position屬性為relative或absolute時,子標簽的absolute屬性是相對于父標簽而言的。而在IE6下,層級的表現有時候不是看子標簽的z-index多高,而要看它們的父標簽的z-index誰高誰低。
有一定經驗的人可能都知道上面的事實。但是,相信這里面很多人不知道IE6下,決定層級高低的不是當前的父標簽,而是整個DOM tree(節點樹)的第一個relative屬性的父標簽。有時平時我們多處理一個父標簽,z-index層級多而復雜的情況不多見,所以難免會有認識上 的小小偏差。
好,下面展示這個bug。
條件很簡單,只要絕對定位的第一個元素的第一個爸爸,或者說是最老的那個爸爸級別的人的relative屬性小于黑色半透明層的z-index層級。例如下面的HTML代碼:
<div></div>
<div style="position:relative;">
<div style="position:relative; z-index:1000;">
<div style="position:absolute; z-index:9999;">
<img src="http://image.VeVb.com/image/study/s/s256/mm3.jpg" />
</div>
</div>
</div>
可以看到,mm3圖片的父標簽div 是絕對定位,層級9999,比1大多了,絕對定位的父標簽層級1000(10000也一樣),也比黑色半透明層的z-index:1大多了,但是,我們可憐的IE6童鞋——
再看看以Firefox為代表的其他童鞋:
IE7與IE6有著同樣的bug,原因很簡單,雖然圖片所在div當前的老爸層級很高(1000),但是由于老爸的老爸不頂用,可憐了9999如此強勢的孩子沒有出頭之日??!
知道原因解決就很輕松了,給第一任老爸添加z-index后的HTML代碼如下:
<div></div>
<div style="position:relative; z-index:1;">
<div style="position:relative; z-index:1000;">
<div style="position:absolute; z-index:9999;">
<img src="http://image.VeVb.com/image/study/s/s256/mm3.jpg" />
</div>
</div>
</div>
結果IE6童鞋喜笑顏開,春光燦爛:

二、css reset中的list-style:none
在日常工作中經常需要對ul,li進行css reset ,將列表符號隱藏.最常用的寫法就是Ul,li,ol{list-style:none;}(也有人用ul,li,ol{list-style-type:none;})
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta content="fanfan,xiangrui09@qq.com" />
<title>常見的用法</title>
<style>
body,ul,li,p {padding:0;margin:0;font-size:12px;}
p{font:bold 16px/180% arial;}
div{float:left;display:inline;background:#eee;margin-right:10px;}
p span{text-decoration:line-through;}
ul{width:275px;margin:4px 0 0 15px;background:aqua;}
ul,li{list-style:none;}
</style>
</head>
<body>
<div>
<p>1: list-style:none;</p>
<ul>
<li><a href="#">純凈的文字 奇異的夢幻 奔騰的思想</a></li>
<li><a href="#">就像對愛情一樣 要求是近乎完美的</a></li>
<li><a href="#">校園里淡淡的青春 單純的男孩女孩</a></li>
</ul>
</div>
</body>
</html>
這個頁面在IE6,7,8,FF中都沒什么問題.
但是我們不能忽略的是,list-style: 包含了三個屬性: list-style-type,list-style-position,list-style-img
如果不注意這三個屬性的話,list-style有時候就會出來搗蛋
比如當ul,浮動后,需要display:inline 來解決在IE6中的雙倍邊距問題時,奇怪的事情發生了:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta content="fanfan,xiangrui09@qq.com" />
<title>奇怪的事情發生了</title>
<style>
body,ul,li,p {padding:0;margin:0;font-size:12px;}
p{font:bold 16px/180% arial;}
div{float:left;display:inline;background:#eee;margin-right:10px;}
p span{text-decoration:line-through;}
ul{width:275px;margin:4px 0 0 15px;background:aqua;}
.ul01{float:left;display:inline;}
.ul01,.ul01 li{list-style:none;}
</style>
</head>
<body>
<div>
<p>1: list-style:none;</p>
<ul class="ul01">
<li><a href="#">純凈的文字 奇異的夢幻 奔騰的思想</a></li>
<li><a href="#">就像對愛情一樣 要求是近乎完美的</a></li>
<li><a href="#">校園里淡淡的青春 單純的男孩女孩</a></li>
</ul>
</div>
</body>
</html>

.ul01{float:left;display:inline;}
.ul01,.ul01 li{list-style:none;}
上面的頁面在ie8,ff中仍然正常
但是在IE6,7中,ul內側與li產生了距離.
由此可見,當我們定義了list-style:none以后,盡管列表符并不出現,但是在IE6,7中,仍然留有它的位置.
看看在FF里這個UL到底擁有哪些屬性

圖上可見,當css中定義list-style:none時,對list-style-position 并沒有影響,仍然是FF瀏覽器的默認設置,值為outside
而IE6,7中很可能默認list-style-position:inside
為了證實這一點,我把list-style:none 換為list-style:none inside none再測試了一下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta content="fanfan,xiangrui09@qq.com" />
<title>強制inside</title>
<style>
body,ul,li,p {padding:0;margin:0;font-size:12px;}
p{font:bold 16px/180% arial;}
div{background:#eee;margin-right:10px;}
p span{text-decoration:line-through;}
ul{width:275px;margin:4px 0 0 15px;background:aqua;list-style:none inside none;}
</style>
</head>
<body>
<div>
<p>強制inside list-style:none inside none;</p>
<ul>
<li><a href="#">純凈的文字 奇異的夢幻 奔騰的思想</a></li>
<li><a href="#">就像對愛情一樣 要求是近乎完美的</a></li>
<li><a href="#">校園里淡淡的青春 單純的男孩女孩</a></li>
</ul>
</div>
</body>
</html>

運行后可以發現,在IE6,7中,與list-style:none的表現一模一樣.
所以我推測在IE6,7中當UL具有float:left和display:inline屬性后,設置了list-style:none,則list-style-position也默認為inside了;
所以我得出的總結是
在IE6,7下,當UL不具有float:left;display:inline;時:
無論有沒有list-style:none這個屬性,列表符都被隱藏,不占位置(下面代碼中的5,6)
當UL具有float:left;display:inline;屬性時
list-style:none,列表符被隱藏,但是仍然留有位置(list-style-position:inside);(下面代碼中的 UL1,ul3)
未設置list-style:none;列表符被隱藏,也不占位(list-style-position:outside)(代碼UL4)
而UL02 在參與測試的各瀏覽器中表現都比較理想
最后這一段代碼對比一下各種情況下list-style的表現,尤其注意4,5,6在IE6,7下的表現
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>list-style:none還是list-style:none outside none;</title>
<style>
body,ul,li,p {padding:0;margin:0;font-size:12px;}
p{font:bold 16px/180% arial;}
div{float:left;display:inline;background:#eee;margin:0 10px 10px 0;}
p span{text-decoration:line-through;}
ul{width:275px;margin:4px 0 0 15px;background:aqua;}
.ul01,.ul02,.ul03,.ul04{float:left;display:inline;}
.ul01,.ul01 li{list-style:none;}
.ul02,.ul02 li{list-style:none outside none;}
.ul03,.ul03 li{list-style:none inside none;}
.ul04,.ul04 li{}
.ul05{}
.ul05,.ul05 li{list-style:none;}
.ul06{}
.ul06,.ul06 li{}
</style>
</head>
<body>
<div>
<p>1:float:left;display:inline; list-style:none;</p>
<ul class="ul01">
<li><a href="#">純凈的文字 奇異的夢幻 奔騰的思想</a></li>
<li><a href="#">就像對愛情一樣 要求是近乎完美的</a></li>
<li><a href="#">校園里淡淡的青春 單純的男孩女孩</a></li>
</ul>
</div>
<div>
<p>2:float:left;display:inline; list-style:none outside none;</p>
<ul class="ul02">
<li><a href="#">純凈的文字 奇異的夢幻 奔騰的思想</a></li>
<li><a href="#">就像對愛情一樣 要求是近乎完美的</a></li>
<li><a href="#">校園里淡淡的青春 單純的男孩女孩</a></li>
</ul>
</div>
<div>
<p>3: float:left;display:inline;list-style:none inside none;</p>
<ul class="ul03">
<li><a href="#">純凈的文字 奇異的夢幻 奔騰的思想</a></li>
<li><a href="#">就像對愛情一樣 要求是近乎完美的</a></li>
<li><a href="#">校園里淡淡的青春 單純的男孩女孩</a></li>
</ul>
</div>
<div>
<p>4:float:left;display:inline;未做css reset</p>
<ul class="ul04">
<li><a href="#">純凈的文字 奇異的夢幻 奔騰的思想</a></li>
<li><a href="#">就像對愛情一樣 要求是近乎完美的</a></li>
<li><a href="#">校園里淡淡的青春 單純的男孩女孩</a></li>
</ul>
</div>
<div>
<p>5: 無 display,float屬性 list-style為none;</p>
<ul class="ul05">
<li><a href="#">純凈的文字 奇異的夢幻 奔騰的思想</a></li>
<li><a href="#">就像對愛情一樣 要求是近乎完美的</a></li>
<li><a href="#">校園里淡淡的青春 單純的男孩女孩</a></li>
</ul>
</div>
<div>
<p>6: 無 display,float屬性 無list-style:none;</p>
<ul class="ul06">
<li><a href="#">純凈的文字 奇異的夢幻 奔騰的思想</a></li>
<li><a href="#">就像對愛情一樣 要求是近乎完美的</a></li>
<li><a href="#">校園里淡淡的青春 單純的男孩女孩</a></li>
</ul>
</div>
</body>
</html>
通過上面代碼表現結果的對比,我認為:
在firefox中只要list-style-type為none ,則無論list-stype-position的值為outside或inside , list-style都能很好的被隱藏
而在IE6,7中,僅設置list-style:none,并不足以解決所有問題
所以我認為在css reset的時候使用 list-style:none outside none 更好
三、CSS強制不換行
在一個規定寬度大小的ul里邊 我把li的寬度定義為自動。企圖讓li根據內容長度來自動向左對齊排列。
例如寬度為210px的ul里 分別有4個li 這個4個li的寬度根據它們的自身內容長度為80px、120px、140px、80px。
我需要的效果是4個li向左自動排列。當第三個li和前兩個li的長度之和大于ul的寬度時候 第三個li則會下移一行。在第二行顯示。而不是把ul撐寬,或者是把自己撐高(內容換行,高度增加)
分別定義了ul的寬度210px和li的寬度自動,發現結果是:
ul并沒有被撐寬,可惜li也沒有自動到下一樣排列。而是內容換行,把li給撐高了。然后死皮賴臉的擠在了第一行。。
仔細考慮過之后認為問題出在li內部內容換行上。于是尋找禁止換行的css屬性。
解決方法:
給li加white-space:nowrap強制不換行屬性。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久香蕉国产线看观看网| 久久久视频在线| 日韩高清av在线| 欧美成人h版在线观看| 一区二区三区无码高清视频| 91精品久久久久久| 欧美在线视频网| 日本精品性网站在线观看| 91精品国产乱码久久久久久久久| 亚洲欧美国产一本综合首页| 国产精品吊钟奶在线| 欧美一级电影久久| 91成人性视频| 成人免费淫片视频软件| 欧美视频一区二区三区…| 欧美视频二区36p| 欧美午夜xxx| 欧美日韩免费观看中文| 欧美自拍大量在线观看| 精品国产91乱高清在线观看| 久久视频在线视频| 日韩中文在线中文网在线观看| 色婷婷成人综合| 亚洲电影免费观看高清完整版在线| 欧美国产日产韩国视频| 萌白酱国产一区二区| 国产精品在线看| 国产精品丝袜久久久久久不卡| 九色91av视频| 日本道色综合久久影院| 欧美成人免费在线观看| 在线观看国产精品91| 国产69久久精品成人看| 欧美性高潮在线| 69av视频在线播放| 亚洲欧美在线磁力| 国产一区深夜福利| 97久久精品人搡人人玩| 91精品久久久久| 亚洲free性xxxx护士白浆| 国产精品日韩在线观看| 国产成人涩涩涩视频在线观看| 一本色道久久综合狠狠躁篇怎么玩| 日韩欧美福利视频| 国产综合在线看| 亚州欧美日韩中文视频| 亚洲成av人影院在线观看| 日韩免费在线电影| 日韩一级裸体免费视频| 欧美国产中文字幕| 国产精品亚洲欧美导航| 日韩av电影国产| 一个色综合导航| 国产一区二区在线播放| 日本一区二区在线播放| 日韩免费视频在线观看| 亚洲女人被黑人巨大进入al| 影音先锋日韩有码| 红桃视频成人在线观看| 欧美日本国产在线| 欧美二区乱c黑人| 国产98色在线| 亚洲欧美日韩精品久久奇米色影视| 97精品视频在线播放| 精品调教chinesegay| 自拍偷拍亚洲区| 国产一区二区三区三区在线观看| 在线性视频日韩欧美| 91精品国产综合久久香蕉的用户体验| 海角国产乱辈乱精品视频| 国产精品久久久久久久久久三级| 丝袜亚洲另类欧美重口| 欧美视频在线看| 日韩免费观看网站| 91久久久久久久久久久久久| 欧美黑人视频一区| 性欧美长视频免费观看不卡| 九九精品视频在线| 亚洲综合成人婷婷小说| 中文字幕精品www乱入免费视频| 国产精品专区h在线观看| 日韩中文字幕视频| 欧美日韩在线第一页| 日韩美女福利视频| 国产日本欧美一区| 美日韩丰满少妇在线观看| 久久福利视频网| 欧美成人免费一级人片100| 2019国产精品自在线拍国产不卡| 久久伊人91精品综合网站| 国产精品久久综合av爱欲tv| 51精品国产黑色丝袜高跟鞋| 亚洲性线免费观看视频成熟| 亚洲人成人99网站| 日韩精品免费在线视频| 91免费看片在线| 中文字幕久久久av一区| 国产成人在线亚洲欧美| 大伊人狠狠躁夜夜躁av一区| 欧美有码在线视频| 国产欧美日韩中文| 国产精品丝袜白浆摸在线| 久久久亚洲精品视频| 成人a级免费视频| 中文字幕v亚洲ⅴv天堂| 清纯唯美亚洲激情| 日韩一区视频在线| 国产区亚洲区欧美区| 国产成人一区二区| 久久视频在线观看免费| 色阁综合伊人av| 国内精品久久久久久| 亚洲自拍偷拍色片视频| 久久露脸国产精品| 日韩福利在线播放| 欧美激情一区二区久久久| 久久精品中文字幕一区| 久久亚洲国产精品成人av秋霞| 日本精品久久久久影院| 中文字幕日韩视频| 亚洲免费人成在线视频观看| 亚洲激情视频在线| 欧美一级黑人aaaaaaa做受| 亚洲精品第一国产综合精品| 亚洲精品美女在线观看播放| 欧美日韩国产在线| 欧美精品精品精品精品免费| 欧美日韩福利电影| 亚洲一级片在线看| 91po在线观看91精品国产性色| 中文字幕成人精品久久不卡| 亚洲一区久久久| 日本久久亚洲电影| 午夜精品久久久久久久99热| 色婷婷**av毛片一区| 91精品国产综合久久男男| 欧美激情视频一区二区三区不卡| 亚洲一区久久久| 成人在线视频网| 日韩美女毛茸茸| 日韩精品视频在线观看网址| 久久久久久久影院| 国外成人免费在线播放| 欧美一级在线亚洲天堂| 日韩欧美主播在线| 亚洲国产精久久久久久| 日韩在线视频观看正片免费网站| 精品亚洲国产视频| 91老司机精品视频| 国产在线精品一区免费香蕉| 国产91色在线|| 98午夜经典影视| 久久亚洲私人国产精品va| 国产精品1234| 日韩av片电影专区| 久久久久北条麻妃免费看| 亚洲偷熟乱区亚洲香蕉av| 国产在线精品自拍| 欧美体内谢she精2性欧美| 日韩激情片免费| 成人观看高清在线观看免费| 午夜精品久久久久久久久久久久| 欧美精品情趣视频| 亚洲国产高清自拍|