まあ、それはブラウザや jQuery の機能のようで、必ずしも HTML や Javascript を構築した方法とは関係ありません。DOM要素の境界ボックス内のピクセル領域のみがレンダリングされているように見えるため、これを言います(テキストの半分が外側になり、半分が内側になるようにテキストを移動してみてください...「切り取られた」部分が表示されますアニメーション化されたテキストの。)
回避策は次のとおりです。「#box」と「#outside」の周りにラッパー DIV を使用して、両方がラッパーのバウンディング ボックスの内側になるようにします。
CSS:
#boxWrapper {
position: fixed;
top: 50%;
left: 50%;
width: 200px;
height: 200px;
margin-left: -100px;
margin-top: -120px; /* extra 20px for the #outside */
background:#ccc;
}
#box {
background: #000;
height:100%;
width:100%;
margin-top:20px; /* give 20px for the #outside */
}
#outside {
background:darkblue;
position: absolute;
top: 0px;
right: 0; }
そしてHTML:
<div id="boxWrapper">
<div id="box">
<a href="#">CLICK ME</a>
<div id="outside">
I'm positioned OUTSIDE the box
</div>
</div>
</div>
そしてJavascript:
<script type="text/javascript">
$(document).ready(function() {
$("#box a").click(function(){
$("#boxWrapper").animate({
height: "410px",
opacity: 0.9,
top: "25%"
}, 1000 );
return false;
});
});
</script>