Html 通过选择子项将样式应用于父项
一些浏览器(至少是Chrome浏览器)在嵌套在锚定标记内的图像下放置了部分下划线,如下所示:Html 通过选择子项将样式应用于父项,html,css,Html,Css,一些浏览器(至少是Chrome浏览器)在嵌套在锚定标记内的图像下放置了部分下划线,如下所示: <a href="#"><img src="/foo.jpg" /></a> <a href="#"> <img src="/foo.jpg" /> </a> 当然,这不起作用,因为样式应用于img标记,而不是锚定。那么,是否有一个选择器可以用于将文本装饰样式应用于任何带有img子项的锚定标记 编辑: 我的HTML通常如
<a href="#"><img src="/foo.jpg" /></a>
<a href="#">
<img src="/foo.jpg" />
</a>
当然,这不起作用,因为样式应用于img标记,而不是锚定。那么,是否有一个选择器可以用于将文本装饰样式应用于任何带有img子项的锚定标记
编辑:
我的HTML通常如下所示:
<a href="#"><img src="/foo.jpg" /></a>
<a href="#">
<img src="/foo.jpg" />
</a>
我分隔和标记元素的方式是在锚定标记和图像标记之间添加额外的空白。在空白处加下划线。我只是用
img {
border:none;
}
我只是用
img {
border:none;
}
不幸的是,目前无法仅使用CSS来选择元素的父元素 您需要求助于javascript或jQuery 就我个人而言,我会在jQuery中做一些事情,比如
$('a>img').parent().addClass('noTextDecoration');
那么在css中有以下内容:
a.noTextDecoration {test-decoration:none;}
不幸的是,目前无法仅使用CSS来选择元素的父元素 您需要求助于javascript或jQuery 就我个人而言,我会在jQuery中做一些事情,比如
$('a>img').parent().addClass('noTextDecoration');
那么在css中有以下内容:
a.noTextDecoration {test-decoration:none;}
据我所知,在CSS中无法选择元素的父元素。您可以尝试将一些类,即
imagelink
应用于包含IMG元素的元素。据我所知,在CSS中无法选择元素的父元素。您可以尝试将一些类,即imagelink
应用于包含IMG元素的元素。如果您反对将类添加到此
标记(这是一个简单的解决方案),您的下一个最佳CSS解决方案将是删除
标记上的文本装饰,并将要在内联元素中加下划线的文本换行。见下文:
对于图像:
<a href="#">
<img src="/foo.jpg" alt="etc" />
</a>
如果您反对将类添加到此
标记(这是一个简单的解决方案),那么您的下一个最佳CSS解决方案将是删除
标记上的文本装饰,并将希望在内联元素中加下划线的文本包装起来。见下文:
对于图像:
<a href="#">
<img src="/foo.jpg" alt="etc" />
</a>
如果这些锚定的href属性始终指向图像,并且除了其中实际包含
img
标记的锚定之外,没有其他锚定指向图像,那么您可以使用:
a[href$=".gif"],
a[href$=".png"],
... ,
a[href$=".jpg"] {
text-decoration: none;
}
如果这些锚定的href属性始终指向图像,并且除了其中实际包含
img
标记的锚定之外,没有其他锚定指向图像,那么您可以使用:
a[href$=".gif"],
a[href$=".png"],
... ,
a[href$=".jpg"] {
text-decoration: none;
}
您要求的是基于子选择器的父选择器。这在CSS2.1或CSS3中都不存在。您必须通过其他方式应用样式!您要求的是基于子选择器的父选择器。这在CSS2.1或CSS3中都不存在。您必须通过其他方式应用样式!这是我经常做的,但在这种情况下,这不起作用。需要使用“文本装饰:无”样式。这是我经常做的,但在这种情况下不起作用。需要使用样式“文本装饰:无;”。如果使用此解决方案,请注意跨浏览器兼容性。如果使用此解决方案,请注意跨浏览器兼容性。