CSS3 Background-image和Gradient 制作菜單分隔豎線

我們想要的效果:


通常我們?yōu)橐粋€(gè)菜單設(shè)置分隔線的時(shí)候来氧,會(huì)想到用 border-right 或者border-left 來(lái)實(shí)現(xiàn):

border-right:1px solid gray;

不過(guò)這種方法制作的分隔線堡称,我們可以改變它的線寬弛秋、線型锋喜、顏色尾序,卻沒(méi)法改變它的長(zhǎng)度亥啦。這時(shí)候我們可以想到另一個(gè)方法:

Background-image和Gradient 制作菜單分隔豎線。

首先耳幢,看看它的HTML結(jié)構(gòu):

<div class="one">
  <a href="#">Home</a>
  <a href="#">Hello</a>
  <a href="#">Hello</a>
  <a href="#">Hello</a>
</div>

先給它添加基本的CSS樣式:

font-size:24px;
color:#8ce;
text-decoration:none;
padding:0 20px;

到這里我們?cè)俳o它添加一個(gè)背景色岸晦,就能發(fā)現(xiàn)欧啤,<a>元素之間存在間隔。

background: #fce;

*在我們接著往下繪制線條的時(shí)候启上,先要解決這個(gè)問(wèn)題邢隧,首先,為什么會(huì)有空格呢冈在?
原因就是標(biāo)簽段之間的空格倒慧,那么怎么解決這個(gè)問(wèn)題呢?
1. 去掉HTML中的空格包券,自然間距就沒(méi)有了纫谅。

<div class="one">
  <a href="#">
Home</a><a href="#">
Hello</a><a href="#">
Hello</a><a href="#">
Hello</a>
</div>

2. margin負(fù)值
margin負(fù)值的大小與上下文的字體和文字大小相關(guān),由于外部環(huán)境的不確定性溅固,以及最后一個(gè)元素多出的父margin值等問(wèn)題付秕,這個(gè)方法不適合大規(guī)模使用。
在本利中設(shè)置的是:margin:-4px;

3. 去掉閉合標(biāo)簽
為了向下兼容IE6/IE7等喝蒙牛長(zhǎng)大的瀏覽器侍郭,最后一個(gè)列表的標(biāo)簽的結(jié)束(閉合)標(biāo)簽不能丟询吴。

<div class="one">
  <a href="#">Home
  <a href="#">Hello
  <a href="#">Hello
  <a href="#">Hello</a>
</div>

在HTML5中,我們可以直接:

<div class="one">
  <a href="#">Home
  <a href="#">Hello
  <a href="#">Hello
  <a href="#">Hello
</div>

4. 為父元素添加 font-size:0亮元;如下

.one {
    font-size:0;
}
.one a {
    font-size:24px;
}

5. 使用letter-spacing

.one {
    letter-spacing:-4px;   /*這個(gè)數(shù)值在本例中是最合適的*/
}
.one a {
    letter-spacing:0;
}

6. 使用word-spacing

.one {
    word-spacing:-4px;
}
.one a {
    word-spacing:0;
}

解決了空格的問(wèn)題之后猛计,我們就可以用 Gradient 為元素添加背景圖片了,而這個(gè)寬度只有1px 的線條就是我們的分隔線了爆捞。

.one {
  font-size:0
}
.one a{
  color:#8ce;
  text-decoration:none;
  font-size:24px;
  padding:0 20px;
  background:linear-gradient(gray,gray) no-repeat;
  background-size:1px 40%;  /*制定了線寬為 1px奉瘤;線高為背景高度的40%;*/
  background-position:0 center;  /*線條所在位置為垂直居中*/
}

此時(shí)我們發(fā)現(xiàn)煮甥,第一個(gè)菜單的前面也有一根線盗温,我們需要把它去掉,利用 first-child 選擇器選中它苛秕,把它的背景去掉肌访,就好了:

.one>a:first-child{
  background:none;
}

這樣,終于可以得到想要的效果了:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末艇劫,一起剝皮案震驚了整個(gè)濱河市吼驶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌店煞,老刑警劉巖蟹演,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異顷蟀,居然都是意外死亡酒请,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)鸣个,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)羞反,“玉大人布朦,你說(shuō)我怎么就攤上這事≈绱埃” “怎么了是趴?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)澄惊。 經(jīng)常有香客問(wèn)我唆途,道長(zhǎng)掸驱,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任毕贼,我火速辦了婚禮,結(jié)果婚禮上鬼癣,老公的妹妹穿的比我還像新娘让腹。我一直安慰自己,他們只是感情好扣溺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著瓜晤,像睡著了一般锥余。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上痢掠,一...
    開(kāi)封第一講書(shū)人閱讀 51,301評(píng)論 1 301
  • 那天驱犹,我揣著相機(jī)與錄音,去河邊找鬼足画。 笑死雄驹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的淹辞。 我是一名探鬼主播医舆,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼象缀!你這毒婦竟也來(lái)了蔬将?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤央星,失蹤者是張志新(化名)和其女友劉穎霞怀,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體莉给,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡毙石,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年廉沮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徐矩。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡滞时,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出丧蘸,到底是詐尸還是另有隱情漂洋,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布力喷,位于F島的核電站刽漂,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏弟孟。R本人自食惡果不足惜贝咙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拂募。 院中可真熱鬧庭猩,春花似錦、人聲如沸陈症。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)录肯。三九已至趴腋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間论咏,已是汗流浹背优炬。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工蠢护, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留养涮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓贬芥,卻偏偏與公主長(zhǎng)得像宣决,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子威沫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案棒掠? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,751評(píng)論 1 92
  • 學(xué)習(xí)CSS的最佳網(wǎng)站沒(méi)有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_閱讀 1,055評(píng)論 0 1
  • ?前端面試題匯總 一烟很、HTML和CSS 21 你做的頁(yè)面在哪些流覽器測(cè)試過(guò)?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,220評(píng)論 0 8
  • 1.塊級(jí)元素和行內(nèi)元素 塊級(jí)(block-level)元素恤筛;行內(nèi)(內(nèi)聯(lián)芹橡、inline-level)元素。 塊元素的...
    饑人谷_小侯閱讀 2,002評(píng)論 1 4
  • 請(qǐng)參看我github中的wiki煎殷,不定期更新腿箩。https://github.com/ivonzhang/Front...
    zhangivon閱讀 7,127評(píng)論 2 19