別の div 内の div を (必要に応じて) 水平方向に中央揃えしてトリミングしようとしています。
これと同じ効果を背景画像で実現することは可能ですが、この場合、私のコンテンツは単一の画像ではありません。
フィドル: http://jsfiddle.net/7aMhY/1/
HTML:
<div class="poster_container">
<div class="poster_row">
<div class="poster" style="width: 210px;">1</div>
<div class="poster" style="width: 210px;">2</div>
<div class="poster" style="width: 210px;">3</div>
<div class="poster" style="width: 210px;">4</div>
<div class="poster" style="width: 210px;">5</div>
</div>
</div>
CSS:
.poster_container {
text-align: center;
border: dotted;
border-color: red;
background-color: #0ff;
margin: auto;
overflow:hidden;
}
.poster_row {
text-align: center;
margin: auto;
display: inline-block;
white-space:nowrap;
oveterflow:hidden;
border: dotted;
border-color: blue;
max-width: 100%;
}
.poster {
border: dotted;
display: inline-block;
border-color: green;
background-color: green;
height: 315px;
font-size:280px;
color: white;
}
poster_container div が poster_row div より広い限り、コンテンツは中央に配置されます。しかし、poster_row が広くなると、トリミングされますが、そのコンテンツは左にフラッシュされ、右側のみがトリミングされます。
私は内側の poster_row div センターを持ち、両側から均等にトリミングしようとしています。外側の div はビューポートの 100% になるため、その幅は任意です。理想的には、内側の div にも任意の幅を持たせたいので、CSS を変更せずにコンテンツを簡単に交換できます。