我給我的鏈接一個背景顏色,使其突出,問題是,它也將適用於具有圖像作爲孩子而不是文字的鏈接。結果是圖像底部有一個小背景。 (請參閱:http://blog.cmstutorials.org/reviews/general/featured-tutorial-of-the-week-05-feb-2011)css - 當圖像父母從鏈接中刪除背景
當我的孩子有img時,我如何刪除鏈接的背景?我雖然這樣someting會工作:
.featured_tutorial img < a
我給我的鏈接一個背景顏色,使其突出,問題是,它也將適用於具有圖像作爲孩子而不是文字的鏈接。結果是圖像底部有一個小背景。 (請參閱:http://blog.cmstutorials.org/reviews/general/featured-tutorial-of-the-week-05-feb-2011)css - 當圖像父母從鏈接中刪除背景
當我的孩子有img時,我如何刪除鏈接的背景?我雖然這樣someting會工作:
.featured_tutorial img < a
CSS不支持parent
選擇器。
你必須使用類,如a.this_link_contanis_img{ /*override background*/ }
或者,也許你可以設置一個新的屬性到IMG。這可能會隱藏鏈接的背景。
.featured_tutorial img{ /*override background*/ }
編輯:好吧,你的情況是不會工作..
級聯樣式表不允許「向後」訪問元素。您只能訪問某個元素的子元素,而不能訪問其父母。
它的背景在底部漏水,因爲圖像是默認的內聯級元素,並定位在文本行的基線它們被放置在基線和下降線之間,從而導致顏色泄漏。你可以通過兩種方式擺脫它。設置的CSS:
,或者如果你想留顯示爲內聯
a img { vertical-align: bottom }
這應該解決您的問題,因爲這將圖片對齊文本行的圖像的下降線在內嵌模式下放置。
希望它能幫助,
T.
如前所述沒有CSS修復,但因爲你已經在使用jQuery,這是我能想到這樣做
的唯一途徑jQuery(document).ready(function() {
jQuery("a:not(:has(img))").addClass("bg");
});
正如已經指出的那樣,CSS沒有一種查看「up」DOM樹的方式。它基本上涉及性能方面的考慮。 (這裏是one explanation。)
但是,如果你不反對有時用Javascript來修正這種事情的必要的邪惡,jQuery有:parent selector。