サファリに2つのフロート要素を含むdivの幅に問題があります。
フロートされたdivの1つは、幅が0に設定されており、クリックイベントでjqueryを使用して展開されます。サファリの親コンテナは、幅が0に設定されている場合でも、両方のdivの幅を保持します。
ここにこの例があり、Safari以外のすべてで機能します。 http://jsfiddle.net/XUR7R/6/
HTML:
<div class="item-list">
<ul>
<li class="article">
<div class="column">
Column 1<br/>
<a href="#" class="expand">toggle</a><br/>
</div>
<div class="column expandableColumn">
Column 2 content
</div>
</li>
</ul>
</div>
CSS
.item-list{
overflow:hidden;
}
.article{
float:left;
overflow:hidden;
background:#555;
padding:5px;
}
.column{
float:left;
height:100px;
width:100px;
background:red;
}
.expandableColumn{
width:0;
}
Javascript
$(document).ready(function() {
$('.expand').click(function() {
if ($(this).hasClass('.expanded')) {
$('.expandableColumn').animate({
'width': '0px'
});
}
else {
$('.expandableColumn').animate({
'width': '100px'
});
}
$(this).toggleClass('.expanded')
});
});