私の質問は次のとおりです。次の動作は定義されていますか、それともバグですか?
さまざまな回避策の回答を見てきましたが、動作自体についてではありません。
デフォルトでは、左に浮いているブロックに対する各 <li> の箇条書きは、右ではなくブロックの内側にレンダリングされます。ただし、これは私がそれをレンダリングする方法です(<li>が要素の下に落ちるまでブロックと箇条書きの間のスペース、次に親ブロックの端と箇条書きの間の同じ量のスペース):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Page Title</title>
<style type="text/css">
.my_div {
float: left;
background-color: #CCF;
/* To push <li>s out */
margin-right: 25px;
}
.my_ul {
/* Consistency across all browsers */
padding-left: 25px;
/* Fix for Opera only */
list-style-position: inside;
}
</style>
</head>
<body>
<div class="my_div">Some text<br>Second line</div>
<ul class="my_ul">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
</body>
</html>
.my_ul
スタイルを削除して、もう一度margin-right
表示してみてください。同じようにレンダリングされると思っていましたが、そうではありません。テストしたすべてのブラウザー (Opera 12、Firefox 17、Chrome 23、Internet Explorer 8、Safari 5) で同じように動作します。