【问题标题】:css: how to target p a imgcss:如何定位 p 和 img
【发布时间】:2013-10-31 10:54:15
【问题描述】:
<p><a href...><img... /></a></p>

css 中的链接在它们之后有一个边框和 raquo,如下所示:

 p a:after, .content li a:after {content: "\00a0 \00bb";}

如何仅定位段落内链接中的图像以删除此样式? 稍后在 css 中使用它不起作用:

a img, #logo a, p a img {border:none;text-decoration:none;}
        a:after img {content:"";}

更新: 进行了搜索和替换以添加一个类:

<p><a ([^<]*)><img
<p><a class="imagelink" $1><img

然后使用这个 css:

   a.imagelink {border:none;} a.imagelink:after {content:"";}

【问题讨论】:

  • 您将内容应用于a 标签,而不是img,因此您无法删除它。
  • 我以为 'img' 是 'a' 的孩子,但现在明白它是内容,而不是元素。

标签: css image hyperlink css-selectors


【解决方案1】:

不幸的是,这根本不可能。 CSS 中没有“父选择器”,因此您无法根据元素可能包含的元素来选择元素。

有很多替代方案,但所有替代方案都需要以某种方式更新锚标记本身,例如添加一个类。

p a.img-container:after { content: "" }

【讨论】:

  • 好吧,我想也许一些花哨的 > 或 + 会让我到达那里。试图在不编辑 html 的情况下全局应用,但将搜索/替换以添加类。谢谢!
【解决方案2】:

为了“在段落内的链接中定位图像”,您需要使用这个 CSS 选择器:

p a img{Your code}

【讨论】:

    【解决方案3】:

    您可以在新的 CSS 类中创建样式属性来反转您在

    中指定的内容
    p a:after, .content li a:after {content: "\00a0 \00bb";}
    

    示例 CSS

    .clearStyle{ /*attributes*/  }
    

    【讨论】:

    • 我会添加一个类。我在往后想。
    猜你喜欢
    • 1970-01-01
    • 2014-09-25
    • 2018-01-19
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多