CSS选择样式=“float:left”的图像可能吗?

Posted

技术标签:

【中文标题】CSS选择样式=“float:left”的图像可能吗?【英文标题】:CSS Select Images with style="float:left" possible? 【发布时间】:2011-04-12 10:32:39 【问题描述】:

与选择img[title="test"] 类似,我能否以某种方式选择样式属性为float 设置为left 的图像?

我想为它们设置不适用于右浮动图像的左右边距。

谢谢。

【问题讨论】:

是什么将它们设置为float: left?那不也可以将左边距和下边距设置为0吗? 这是一个用于执行此操作的 CMS 界面,对于某些用户来说设置边距有点复杂。另外 CMS 界面只允许设置水平。和垂直。同时边际。所以两个两个不是每个。 【参考方案1】:

没有 JS 是不可能的。不过,您可以在图像或其父级上设置一个类并制定规则。

【讨论】:

它们是用户通过 CMS 放置的图像。【参考方案2】:

使用这个:

img[style~="float:left"] 
  margin: 5px 15px 0px 0px;


img[style~="float:right"] 
  margin: 5px 0px 0px 15px;

您可以在以下网站之一阅读所有有关 CSS2 选择器的信息:

CSS2 attr selector examples at quirksmode CSS2 attr selector reference from w3.org

【讨论】:

如果浮动不在 CSS 文件和内联样式标签中,这将起作用。 如果它在 CSS 文件中,您可以编辑类,并且可能不需要这个问题。【参考方案3】:

Peter W 解决方案需要这样修复:(将 ~= 更改为 *=

img[style*="float:left"] 
  margin: 5px 15px 0px 0px;


img[style*="float:right"] 
  margin: 5px 0px 0px 15px;

唯一的问题是它完全匹配,所以float:right 会匹配,而float: right 不会(注意额外的空格)。

我在 Chrome 和 IE9 中测试成功,但是在 IE emulation 模式下无法工作...

【讨论】:

对排版样式很有帮助!【参考方案4】:

只是稍微扩展一下,这是我一直用于所有图像的内容。它捕获浮动以及对齐的图像。

img[align="left"],
img[style*="float: left"],
img[style*="float:left"]
    margin: 5px 15px 0px 0px;

img[align="right"],
img[style*="float: right"],
img[style*="float:right"]
    margin: 5px 0px 0px 15px;

【讨论】:

没问题。我喜欢它背后的想法,但一开始并没有奏效。我认为其他人可能不会花太多时间来调试它...... 这是最好的通用解决方案,非常适合具有所见即所得内嵌图像的 CMS 系统。 使用内联样式和 CSS 压缩(例如,打开 Drupal 的“聚合和压缩 CSS 文件”)可能会有点危险。空格将从第一条规则中删除,实质上是复制规则。如果用户在内容正文中添加的任何内联样式有空格,则它们将不再匹配,您对此无能为力。 空白被剥离实际上是 Drupal 的 CSS 压缩器中的一个错误。我在 D7 中为它写了一个补丁,而 D8 目前正在进行中。 这适用于来自样式表的 CSS,还是仅适用于内联?

以上是关于CSS选择样式=“float:left”的图像可能吗?的主要内容,如果未能解决你的问题,请参考以下文章

div css float浮动用法(left right)

你如何根据风格选择元素?

我在UL样式里加了float:left;后li的符号就自动隐藏了 该么怎么再显示出来?

css样式在ie中不能正常显示

前端入门篇之div

前端入门篇之div