国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 越西县| 澎湖县| 通许县| 曲松县| 阿图什市| 南阳市| 汾西县| 基隆市| 呼和浩特市| 康定县| 平阴县| 和政县| 古浪县| 山丹县| 伊吾县| 大丰市| 西丰县| 玉门市| 建瓯市| 永修县| 合阳县| 资溪县| 晋州市| 新田县| 府谷县| 香河县| 朝阳市| 行唐县| 双柏县| 西吉县| 横峰县| 乐亭县| 钟祥市| 汝阳县| 静宁县| 岳普湖县| 五台县| 马山县| 肥乡县| 昭通市| 克东县|