色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

css - 在IE678下用什么方法解決偽類last-child?

瀏覽:127日期:2023-08-05 09:08:30

問題描述

我知道可以通過給最后一個添加class,但是這個是所有瀏覽器下都添加class,那last-child不用都可以了。

這問題應該放在新手下面的,但習慣性直接在首頁撰寫,所以...

開始我是有找下解決的方法。一般last-child都是用在菜單或者列表用邊框分隔的時候,把最后面一個border的設定去掉。

一種方法是給最后一項添加一個class,例如.last-child,把border設為none值。(這個不便于數據綁定,不然又得判斷最后一個,麻煩)。

一種方法是通過js把最后最后一項的邊框值去掉,達到last-child的目的:

if ($(’html’).hasClass(’lt-ie9’)) { $(’[data-fix-last-child]’).each(function () {var $me = $(this);var element = $me.data(’fix-last-child’);$me.find(element).last().css({ ’border’: ’none’,’background’: ’none’ }); });}

但是上面兩種方法都是所有瀏覽器下都生效,也就是不用last-child都可以了。當然也可以判斷是IE678的時候才使用上面的方法,但沒什么必要。

還有一種方法是使用:

expression(this.nextSibling==null?’0’:’1px’);

沒試過,因為不支持IE8。

問題解答

回答1:

僅僅是分隔的場景的話,可以用first-child啊,讓first-child沒有上/左邊框就好

回答2:

有一種很簡單的方法,純CSS實現,支持IE7。就是使用element+element即一個元素緊接著另一個元素選擇器。因為last-child元素是沒有緊跟這的元素的,element+element為CSS2選擇器。舉個栗子:

<ul> <li>sample text</li> <li>sample text</li> <li>sample text</li> <li>sample text</li> <li>sample text</li> <li>sample text</li></ul>

我們希望在每條記錄之間加上分隔符,一般會加border-bottom屬性,但是最后一個<li>下面不能有,我們可以使用li+li選擇符,改用border-top屬性即可實現。

li+li{border-top: 1px dotted #999;}

效果圖:css - 在IE678下用什么方法解決偽類last-child?

回答3:

如果你的基本目的是去掉列表項目的最后一個的border,比如想去掉list item最后一個的border-right,其實可以將每個list item的border設定成border-left,然后給每個list item添加margin-left:- border寬度就可以了。

這是margin負邊距布局常用的方法之一

參見資料

負值之美:負值在頁面布局中的應用

CSS布局奇淫巧計之-強大的負邊距

回答4:

我公司只要兼容ie10以上就行(雖然老板說ie6..)

回答5:

/** HTML */<ul class='element'> <li>item 1</li> <li>item 2</li> <li>item 3</li> <li>item 4</li> <li>item 5</li></ul>/** CSS */.element:last-child,.element.last-child{ ... }/** JS */if( IE6 || IE7 || ... ) { $(’.element’).children(’li:last-child’).addClass(’.last-child’);}回答6:

我記得ie678就不支持這個偽類last-child,這是css3里面的

回答7:

使用 JS 獲得上級元素 UL ol 然后再給最后一個元素加樣式

回答8:

ixiaohei 說的對,ie6 不支持css3,所以想通過css是無法解決的。題外話,現在很少人寫ie6兼容了吧,就算寫了,也是閹割版。

回答9:

如果是為了做菜單列表分割的話,不妨考慮用左邊框border-left,這樣會導致第一個元素的左邊框是多余的,但是因為所有的瀏覽器都支持first-child偽類的,所以你可以用first-child來設置第一個元素的border-left為none。以此來達到你想要的效果。

回答10:

還是用ie的html條件注釋吧,在ie678的時候使用你寫的那段js。

標簽: CSS
相關文章:
主站蜘蛛池模板: 神马我我不卡伦影视 | 日本免费一区二区三区a区 日本免费一区二区三区看片 | 亚洲自拍偷拍图 | 亚洲国产精品免费在线观看 | 香蕉网站狼人久久五月亭亭 | 国产91综合 | 欧美.亚洲.日本一区二区三区 | 国产精品特级毛片一区二区三区 | 一级毛片视频免费观看 | 一区国严二区亚洲三区 | 久久semm亚洲国产 | 色偷偷在线刺激免费视频 | 99亚洲| 日韩一中文字幕 | 国产主播精品福利19禁vip | 亚洲综合日韩欧美一区二区三 | 欧美第一视频 | 日本一区二区三区欧美在线观看 | 国产精品美女一级在线观看 | 国产一成人精品福利网站 | 美女视频黄a全部 | 国产福利最新手机在线观看 | 久久国产精品自线拍免费 | 免费一区二区三区久久 | 国产成人免费不卡在线观看 | 成年午夜一级毛片视频 | 国产色手机在线观看播放 | 国产综合精品一区二区 | 欧美国产成人精品一区二区三区 | 欧美极度极度另类 | 日韩精品一区二区三区高清 | 成人区在线观看免费视频 | 成人区视频| 欧美另类videosbestsex高清 | 亚洲一区二区成人 | 国产呦精品一区二区三区网站 | 欧美日韩一区二区视频图片 | 噜噜噜狠狠夜夜躁精品 | 欧美手机在线 | 国产欧美日韩免费一区二区 | 免费观看一级特黄欧美大片 |