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

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

CSS邊界線消失的問題詳解

2024-07-11 08:58:03
字體:
供稿:網(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 結構如下:

<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;    } 

我們會得到如下這樣的結果:

接下來,我們將容器 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 元素的右邊框。

總結

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 偏关县| 光泽县| 文成县| 重庆市| 凭祥市| 兴城市| 农安县| 兰坪| 确山县| 怀远县| 喀什市| 东莞市| 大荔县| 伽师县| 开江县| 包头市| 赤峰市| 定边县| 边坝县| 临泽县| 灵山县| 资溪县| 右玉县| 东方市| 五大连池市| 芦山县| 平陆县| 西安市| 友谊县| 九寨沟县| 阿图什市| 庆元县| 大庆市| 南皮县| 长治县| 石景山区| 榕江县| 肥乡县| 三河市| 高平市| 东丰县|