html - 设置显示 :inline-block 后负边距不起作用

标签 html css

我打算设置 p在我的图像旁边标记并移动顶部一点。 代码如下:

    <style>
      * {
        margin:0;
        padding:0;
      }
      p {
        display:inline-block;
        margin-top: -20px;
      }
    </style>
    <body>
      <img src="myimg.png">
      <p>this is the intro of the page</p>
    </body>

我发现无论我为 margin-top 设置什么值或 margin-bottom<p>标签,它不会按预期工作,调用 display:inline 有问题吗?这里?

最佳答案

您不能像这样在 inlineinline-block 元素上放置负边距。您可以添加一个 position:relative; 和一个负顶部。

* {
  margin:0;
  padding:0;
}
p {
  display:inline-block;
  position: relative;
  top: -20px;
}
<img src="http://placehold.it/200x200">
<p>this is the intro of the page</p>

此外,我假设您会更改 CSS?走向全局(通过影响所有带有 * 的元素和带有 p 的所有段落)似乎相当激烈。最好使用类并针对您想要的内容。

关于html - 设置显示 :inline-block 后负边距不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46698477/

相关文章:

css - 如何在 Bootstrap 网格系统中对齐文本?

html - CSS网格悬停在区域之外

html - 定位 div 时遇到问题

html - 同一行上的引导按钮/输入字段

javascript - 使用 JavaScript 检测互联网连接

android - 直接从 Android 文件管理器打开 html 页面时如何正确设置背景图像的绝对路径

css - 列表项在悬停时更改颜色,而不是在嵌套跨度悬停时

html - 使用严格的 HTML/CSS 隐藏和显示内容

html - 如何正确访问 CSS children?

javascript - <select> 为空/无选择或默认时显示错误消息