Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 影响文本对齐的行高图像覆盖率过大后的负边距_Html_Css - Fatal编程技术网

Html 影响文本对齐的行高图像覆盖率过大后的负边距

Html 影响文本对齐的行高图像覆盖率过大后的负边距,html,css,Html,Css,我正在尝试将文本与图像顶部的行高度2.0对齐 我遇到的问题是,当图像位于锚定标记中且中心对齐时,应用的负边距太小且不需要。由于CSS标准不支持has()has(),因此,对于紧跟在锚定中包含的左对齐或右对齐图像之后的段落和标题,最好的方法是什么 我可以使用Javascript向DOM中的HTML添加一个类,以指定a“包含左对齐的图像”。然而,如果有合适的解决方案,我只想使用CSS HTML: 您可以添加一条规则,为以下情况重置保证金: a .center { margin-bottom

我正在尝试将文本与图像顶部的
行高度
2.0
对齐

我遇到的问题是,当图像位于锚定标记中且中心对齐时,应用的负边距太小且不需要。由于CSS标准不支持
has()
has(),因此,对于紧跟在锚定中包含的左对齐或右对齐图像之后的段落和标题,最好的方法是什么

我可以使用Javascript向DOM中的HTML添加一个类,以指定
a
“包含左对齐的图像”。然而,如果有合适的解决方案,我只想使用CSS

HTML:


您可以添加一条规则,为以下情况重置保证金:

a .center {
    margin-bottom: 1em;
}
或者,您可以将类移动到链接并重写如下规则:

.left {
  float: left;
}

.left + p {
  margin-top: -.5em;
}

.left + h2 {
  margin-top: -.1em;
}

.left + h3 {
  margin-top: -.5em;
}

最后一个选项:

谢谢您的建议!只要将类保留在图像上而不是链接上是语义上的,我将使用您的顶级建议的稍微修改版本
.clearfix一个img:not(.left):not(.right){margin bottom:1em;}
clearfix将其限制在包含内容的区域,并使其与标题中已对齐的图像保持一致。
a .center {
    margin-bottom: 1em;
}
.left {
  float: left;
}

.left + p {
  margin-top: -.5em;
}

.left + h2 {
  margin-top: -.1em;
}

.left + h3 {
  margin-top: -.5em;
}