为什么Safari会忽略min-width和text-align?

问题描述 投票:2回答:5

这段HTML在除Safari之外的所有浏览器中在页面右侧呈现“TEST”一词,其中文本显示在页面的左侧:

<style>
#a{
    min-width: 100%;
}

#b{
    text-align: right;
}
</style>

<body>
<table id="a">
<tr>
    <td id="b">
        TEST
    </td>
</tr>
</table>
</body>

可能导致这种情况的原因是什么,可行的解决方法是什么?

这是一个JSFiddle link

html css safari
5个回答
3
投票

我复制了结果。我在MAC版本5.1.8上看到了窗口的Left侧的文本。

我从宽度调用中删除了min-,它现在正确地显示在右边。

http://jsfiddle.net/U87aK/2/


1
投票

无法在我的Safari版本上复制它(我使用的是7.0版);但是你也可以通过CSS的位置属性来实现相同的效果。

尝试将CS​​S修改为:

#a{
    min-width: 100%;
    position:relative;
}

#b{
    text-align: right;
    position:absolute;
    right:0;
}

这是小提琴:http://jsfiddle.net/z3tT2/


1
投票

对于Safari我们可以使用

min-width: 0; 

因为Safari有一个min-width问题:auto; ||最小宽度:100%;


0
投票

我怀疑(从一个类似但更复杂的情况)一些较旧的Safari版本忽略了仅被声明为id的CSS标签(就像你使用#a#b一样)。

你能告诉我,如果这样做(对于有问题的浏览器)?

<style>
#a table{
    min-width: 100%;
}

#b td{
    text-align: right;
}
</style>

<body id="a">
<table>
<tr id="b">
    <td>
        TEST
    </td>
</tr>
</table>
</body>

注意:这不是它应该如何编码,而是演示(或不演示)浏览器的工作方式。


0
投票

我正在使用min-width: auto,我正式改为min-width: 0,事情很有效。另一个答案可能会提供更多的见解 - Safari and Chrome ignore min-width CSS propery

© www.soinside.com 2019 - 2024. All rights reserved.