Html 不同的CSS样式行为取决于图像样式

Html 不同的CSS样式行为取决于图像样式,html,css,css-float,Html,Css,Css Float,我有一些文本,图像左对齐或右对齐,用文本包装。它们的对齐方式在.html文件中硬编码如下:。当图像向左对齐时,我希望右侧有一些空间(边距:0 1rem 0)。反之亦然,如果图像在右侧,我希望在左侧留一些空间(边距:0 1rem)。请参见下面的方案。我需要通过styles.css文件中的样式执行此操作,类似于: 请任何人帮帮我 您编写的选择器的问题在于,它应该与HTML中的编写方式相同(相同的字母大小写、相同的空格……等等) 因此,根据您编写的HTML,您应该将其修改为以下内容 figure[st

我有一些文本,图像左对齐或右对齐,用文本包装。它们的对齐方式在.html文件中硬编码如下:
。当图像向左对齐时,我希望右侧有一些空间(边距:0 1rem 0)。反之亦然,如果图像在右侧,我希望在左侧留一些空间(边距:0 1rem)。请参见下面的方案。我需要通过styles.css文件中的样式执行此操作,类似于:

请任何人帮帮我


您编写的选择器的问题在于,它应该与HTML中的编写方式相同(相同的字母大小写、相同的空格……等等)

因此,根据您编写的HTML,您应该将其修改为以下内容

figure[style=“float:left”]{
右边距:2em;
}
图[style=“float:right”]{
左边距:2em;
}
或者你也可以用下面的方法

figure[style*=“float:left”]{
右边距:2em;
}
图[style*=“float:right”]{
左边距:2em;
}
星号表示样式包含
float:left
float:right
并应用所需样式

我脑海中浮现出一些东西,但我从未测试过它工作正常,我测试过

figure[style*=“float”][style*=“left”]{
右边距:2em;
}
图[style*=“float”][style*=“right”]{
左边距:2em;
}

这应该测试选择器是否包含这两种组合(浮动、右或左)。但是没有测试。

你可以使用基于属性的选择器,我从未尝试过使用样式,但这是个坏主意。即使有效,它也假定没有其他样式应用于标记。这是非常不可靠的。尝试


a[style=“color:red;”{
背景颜色:黄色;
}
带有target=“\u blank”的链接获得黄色背景:

这是我的第一个答案。 如果出于某种原因,这样的填充不起作用:

figure[style="float: left;"] {
  margin-right: 2rem;
}
figure[style="float: right;"] {
  margin-left: 2rem;
}
否则我会给段落本身添加样式,而不仅仅是图像

您还可以对不同的图像使用不同的类:

div {
  padding-top: 50px;
  padding-right: 30px;
  padding-bottom: 50px;
  padding-left: 80px;
}

这是一个很小的问题,您可能没有注意到分号是什么,因为在css文件中,您应该按照html属性中显示的方式编写确切的css选择器,例如,请参见以下内容:

p[style=“color:red;”{
背景颜色:黄色;
}
p[style=“color:red”]{
背景颜色:绿色;
}
这将是黄色背景


这将是绿色背景

非常感谢,艾哈迈德!你解决了我的问题!我刚刚删除了空格(float:left->float:left),现在它可以工作了!多亏了艾哈迈德·阿尔菲,问题才得以解决。我只需要删除不必要的空白:(float:left->float:left)。还有,艾哈迈德,谢谢其他的Lifehack!现在我们可以结束讨论了。
  figure1[style="float: left;"] {
  margin-right: 2rem;
}
figure2[style="float: right;"] {
  margin-left: 2rem;
}