次の構造を実現したいと思います。
[gfhtfg..., kgjrfg..., asd, mrhgf, ]
^-------^ ^-------^ ^-------^ ^-------^
X X X X
(X = a fixed length)
<div>固定長の があり、その中に水平方向のコンマ区切りulのリンクのリスト ( ) があります。
要素は<li>固定幅でなければならないため、リンクが固定長を超える場合は省略記号が表示されます (text-overflowプロパティを使用)。
リストを水平にする方法を 2 つ知っています。1 つはプロパティを使用してdisplay: inlineおり、もう1 つはfloatプロパティを使用しています。
- 最初のアプローチでは、CSS 仕様でインライン要素の幅を設定できないため、固定幅を設定できません。
- 2番目のアプローチは混乱を引き起こします:O
- 要素の設定
floatは、<a>そこで幅を制限することを意図して、コンマから区切ります。
ブラウザーの互換性の問題はありません。WebKit をサポートするだけで済みます。
作業しようとしたコードを含めました:
<!DOCTYPE html>
<html lang="en">
<head>
<title>a title</title>
<style>
body { font-family: arial; font-size: 10pt; }
div {
height: 30px;
width: 300px;
background: #eee;
border: 1px solid #ccc;
text-align: center;
}
ul { margin: 0px; padding: 0px; }
ul li:after { content: ","; }
ul li:last-child:after { content: ""; }
ul li a { text-decoration: none; color: #666; }
ul li {
margin: 0px;
padding: 0px;
list-style: none;
overflow: hidden;
text-overflow: ellipsis;
-webkit-text-overflow: ellipsis;
/* Inline elements can't have a width (and they shouldn't according to the specification */
display: inline;
width: 30px;
}
</style>
</head>
<body>
<div>
<ul>
<li><a href="#">a certain link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">once again</a></li>
<li><a href="#">another one</a></li>
</ul>
</div>
</body>
</html>
ありがとうございました。