国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

CSS邊界線消失的問題詳解

2024-07-11 08:32:27
字體:
供稿:網(wǎng)友

先來看看下圖,經(jīng)常會在一些導航欄中見到,要求每行中最后一列的右邊框消失,如何在所有瀏覽器中最便捷優(yōu)雅的實現(xiàn)?

如果是不需要兼容 IE8- ,那么使用 CSS3 新增的選擇器無疑是一種好方法。

// 使用偽類選擇器,選擇第 3n 個元素去掉邊框li:nth-child(3n){   border-right:none;   }

當然,如果個數(shù)確定也不多,給需要去掉右邊框的元素直接添加一個特定的 class 也就完事。或者,使用 table 雖然繁瑣一點,不過也能實現(xiàn)。

不過這樣都不夠優(yōu)雅。

這里有個小技巧,就是通過添加反向邊框并且增加一個負的 margin 來實現(xiàn)。

首先,假定我們的 ul 結(jié)構(gòu)如下:

<div class="ul-container"> <ul> <li>測試</li> <li>消失</li> <li>邊界線</li> <li>右側(cè)</li> <li>邊界線</li> <li>消失</li> <li>測試</li> </ul> </div>

如圖中所示,假定每行排列 3 個 li ,每個 li 寬 100px ,我們的 ul 和 ul-container 寬度都設為 300px 。

最重要的是,每個 li 設置一個左邊框而不是右邊框:

.ul-container,   ul{   width:300px;   }   li{   float:left;   width:99px;   border-left:1px solid #999;   }

我們會得到如下這樣的結(jié)果:

接下來,我們將容器 ul-container 設置為 overflow:hidden ,并且將 ul 左移一個像素 margin-left:-1px。

這樣 ul 中第一列的所有邊框都因為左移了一像素并且被 overflow:hidden 而消失了,造成了下一個 li 的右邊框看著像左邊框一樣,其實只是個障眼法:

.ul-container{   overflow:hidden;   }   ul{   margin-left:-1px;   }

效果圖就如一開始圖示所示:

這種做法可以適應不同 li 個數(shù)不同行數(shù)的所有情況,因為每個新添加的 li ,都會生成一個左邊框與上一個 li 元素分開,只是在視覺上看上去像是上一個 li 元素的右邊框。

總結(jié)

以上就是這篇文章的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泗阳县| 壶关县| 博白县| 宁安市| 琼海市| 盐城市| 博客| 民勤县| 万安县| 淮安市| 彩票| 宜都市| 天柱县| 阳东县| 灌南县| 方山县| 罗源县| 呼和浩特市| 涪陵区| 抚远县| 穆棱市| 屯留县| 肥城市| 北海市| 江孜县| 康平县| 乌审旗| 鄂州市| 达日县| 祥云县| 金寨县| 乌兰浩特市| 贡觉县| 枣强县| 四川省| 商都县| 平阳县| 从化市| 苏尼特右旗| 航空| 元江|