CSS ::在Safari中未更新位置之后

时间:2015-06-14 18:07:10

标签: css safari

我在Safari中遇到了CSS问题。更改html元素的文本后,:: after的位置不会更新。

$('#view').text("Shorter text"); // does not update the position of the #view::after pseudo-element http://jsfiddle.net/cpdmLnw7/

但在Chrome和Firefox中完美运行。

任何想法为什么?

1 个答案:

答案 0 :(得分:0)

似乎只是Safari中的一个错误。如果你强制重排它自己修复。

E.g。基于https://stackoverflow.com/a/3485654/1469259中的建议:

height()

setTimeout(...)的调用会强制浏览器在样式更改后重新渲染范围(以便它可以计算" new" height)。如果没有它,更新就会变成一个,没有任何反应。您可以使用$(document).ready(function(){ $("#choices").change(function(){ if($(this).val() == "A"){ $(".church").show(50); $(".orginization").hide(50); } }).change(); }); 以零超时来实现类似的效果。

更新了小提琴:http://jsfiddle.net/cpdmLnw7/4/