我有以下代码在 Chrome 中完美运行,但在 Safari 中则无效。
<p id="info">first line
<span>  | </span>
<span><br></span>
second line
</p>
@media (min-width: 800px) {
#info span { display: inline; }
#info span:nth-of-type(2) {display: none; }
}
@media (max-width: 800px) {
#info span { display: none; }
#info span:nth-of-type(2) {display: table-column;}
}
我最初使用nth-child(x)对此进行了编码,但我读到Safari不支持此功能。我用nth-of-type(x)替换它但它仍然无法正常工作。
如果以“小”列宽开始然后将其设置为位,则可以正常工作。如果再次缩小它,那就是Safari失败的地方。
检查Safari下的页面我可以看到CSS属性 display:none; 已应用,但似乎剩下的是剩下的东西......或者...... >
这是一个jsfiddle,在Chrome上工作但不在Safari上工作:https://jsfiddle.net/auhbrmzg/2/
只需“调整”结果列宽度即可查看它的实际效果。
提前感谢您的意见。
干杯。
答案 0 :(得分:3)
选择器正在工作。如果您检查Safari内部的元素,您会发现它正在添加样式“display:none”。问题是“display:none”对break标记没有影响。基本上,即使样式设置为“display:none;”,标签仍然存在。
以下是您所拥有的替代方案:
HTML:
<p id="info">
<span>first line</span>
<span>  | </span>
<span>second line</span>
</p>
CSS:
@media (min-width: 800px) {
#info span { display: inline; }
}
@media (max-width: 800px) {
#info span {display:block;}
#info span:nth-child(2) { display: none; }
}