Html br:当元素位于br之后时,最后一个子元素不工作

Html br:当元素位于br之后时,最后一个子元素不工作,html,css,css-selectors,Html,Css,Css Selectors,我正在手机上的html中隐藏br标记,但只希望最后一个br标记正常工作。除非最后一个br后面的元素是锚定标记,否则这似乎有效 我正在使用以下代码: p br{ 显示:无; } p br:最后一个孩子{ 显示:块; } 洛雷姆 洛雷姆洛雷姆 在杂志上读文章 洛勒姆 洛雷姆洛雷姆 :最后一个子元素表示容器中的最后一个元素。因此,如果br不是容器的最后一个子项br:last child将不起作用(a标记是最后一个子项) 您想要的是br:last of type()尝试使用p:last of t

我正在手机上的html中隐藏
br
标记,但只希望最后一个
br
标记正常工作。除非最后一个
br
后面的元素是锚定标记,否则这似乎有效

我正在使用以下代码:

p br{
显示:无;
}
p br:最后一个孩子{
显示:块;
}
洛雷姆
洛雷姆洛雷姆

在杂志上读文章

洛勒姆
洛雷姆洛雷姆


:最后一个子元素表示容器中的最后一个元素。因此,如果br不是容器的最后一个子项br:last child将不起作用(a标记是最后一个子项)


您想要的是br:last of type()

尝试使用
p:last of type
而不是
p:last child
使用
last child
,您的目标是最后一个兄弟姐妹,而不一定是最后一个
br
。在本例中,最后一个同级是锚元素。相反,请使用类型的最后一个

p br{
显示:无;
}
p br:最后一种类型{
显示:块;
}
洛雷姆
洛雷姆洛雷姆

在杂志上读文章

洛勒姆
洛雷姆洛雷姆

如果您想“阅读文章…”文本到下一行,您可以尝试

p a:last-child{
  display:block;
}

您的工作示例之所以有效,是因为文本节点不算作子节点,所以br算作最后一个子节点。在第二个示例中,锚点是最后一个子对象。如果您希望始终以最后一个br为目标,无论后面发生什么,您应该使用的是:类型的最后一个,而不是:最后一个子项

试试这个

p  br{
  display: none;
}

p  br:last-of-type {
  display: block;
}

它完全可以正常工作。


不是块级元素。这只是断线,不包含任何
高度
宽度
。所以你能做的就是制作锚定标记块

p  br:not(:last-child) {
  display: none;
}

p a {
  display: block;
}
或者您可以使用
:类型的最后一个

p  br:not(:last-child) {
  display: none;
}

p br:last-of-type {
  display: block;
}
这也是有效的,因为
:类型的最后一个
:它针对特定排列中的特定类型的元素,与类似的同级元素相关,而不是所有同级元素

有关更多信息,请访问此链接:


“试试这个,效果很好。”对我来说,这似乎不是一个很有说服力的答案。我会小心的,我只是需要帮助!我是越南人,所以我的英语表达不好。不幸的是,在我的项目中,锚标记是一个内联块,它的样式看起来像一个按钮,它被用于多个具有不同内容宽度的点。使其显示:块将使其100%的容器宽度,否则我将不得不设置一个不理想的确切宽度。我将使用:last of type使其按我希望的方式工作。“
不是块级元素。”当然,它可以,具体取决于浏览器。这里的解决方案是:last of type。live html中的锚点在多个位置的样式类似于按钮,不能为100%宽度或具有固定宽度,因此它需要保持内联块。