Html 当第一个子元素为强元素时删除文本缩进

Html 当第一个子元素为强元素时删除文本缩进,html,css,Html,Css,我有一个让我发疯的问题。我有一个文章容器,里面有几个段落。第一段包含一个下降上限。此第一段不使用文本缩进,但后面的每一段都使用文本缩进 当我在h3标题之后开始一个新段落时,我不希望任何文本缩进。好的,我可以让它工作(示例中的蓝色文本) 我的问题是,当我用一个标题开始一个新段落时(strong后跟一个破折号),这一行将使用段落的文本缩进,我不希望它缩进。我必须在段落内部(应该是这样),而不是外部有强标签 我正在考虑一种方法来选择所有以强标记开头的段落。我不想用任何javascript来解决这个问题

我有一个让我发疯的问题。我有一个文章容器,里面有几个段落。第一段包含一个下降上限。此第一段不使用文本缩进,但后面的每一段都使用文本缩进

当我在h3标题之后开始一个新段落时,我不希望任何文本缩进。好的,我可以让它工作(示例中的蓝色文本)

我的问题是,当我用一个标题开始一个新段落时(strong后跟一个破折号),这一行将使用段落的文本缩进,我不希望它缩进。我必须在段落内部(应该是这样),而不是外部有强标签

我正在考虑一种方法来选择所有以强标记开头的段落。我不想用任何javascript来解决这个问题我想更改段落的文本缩进,而不是强文本的位置

我在这里做了一个决定。我试过这样的方法:

p>strong {
    color:#f0f;
    text-indent: 0 !important;
}

您可以在
strong
标记中添加一个负边距,不过我假设您需要在其上添加一个特定的类

strong.subhead {
    margin-left: -3em;
}
工作示例:

但是,这也是假设您不希望与强标记关联的段落缩进。如果您希望副标题下的段落也缩进,则在
br
之后的第一个单词或字母上需要另一个标记

span.subhead-indent {
    margin-left: 3em;
}

示例:

要详细说明我对您问题的评论:

如果由于某种原因您不能使用
——这将是更合适的标记——您只需在
元素中添加负边距即可:

p > strong:first-child {
    margin-left:-3em;
}

否则,请改用

<h4>Strong sub header</h4>
<p>Aliquam semper placerat urna...</p>

h3+p, h4+p {
    text-indent:0;
    margin-top: 0;
    padding-top: 0;
}

h3+p {
    color:#00f;
}
强子标题
阿利夸姆·塞佩尔·普莱拉特·乌尔纳

h3+p,h4+p{ 文本缩进:0; 边际上限:0; 填充顶部:0; } h3+p{ 颜色:#00f; }

.

这对我很有用。使用以下命令:

p>strong {
  text-indent: 0 !important;
  color: #f0f;
  display: block;
}
执行此操作后,删除p>strong最后一个的br标签。

我看到了你的问题,发现你没有把你的段落包含在
h3
标签中,所以用你的强段落定义你的css,并为eg设置一个类

<p class="no-indent"><strong>Strong Sub Header</strong></p>

strong子标题


定义您的css这必须起作用。

您使用
而不是
有什么原因吗?我已经更新了您的示例,改为使用
,以防您忽略它:我自己也会这样做,但如果改为使用strong,我想确保它看起来是正确的。这是一个Wordpress网站,其他人将添加内容。我刚刚注意到很多人都添加了这样的子标题。作为对其余答案的快速补充,你的例子不起作用的原因是<代码>文本缩进< /代码>在内联元素中无效。这里使用<代码> <代码>的另一个原因是段落的第一个字或行可能故意是粗体的,用户可能不希望这变成标题。是的,没错。我想我得用
再加上一段。谢谢。是的,但是如果段落中的其他文本是粗体的,这也会被移动,比如:我想你会想要一个特定的类,而不是
p>strong
或者甚至
p>strong:first child
。在这两种情况下,如果段落中有一个强标记不是副标题,或者如果一个副标题不存在,但另一个强标记存在,则可能会导致问题。@ChristofferHald:我可能错了,但我不相信有办法具体选择第一个元素。您可以使用
:first-line
来确保它只在第一行,但这就是为什么使用
将是一个更好的解决方案。这要求您为强子标题指定一个特定的类,我希望避免这样做。如果不能自动完成,我宁愿一起删除文本缩进。遗憾的是,我不认为你会找到一个不需要javascript或特定类的解决方案。我认为你是对的。我必须考虑使用jQuery来解决这个问题。无论如何,谢谢。当段落中有多个
strong
标记时,此操作将失败。
尚未从HTML5中删除: