3

親 div 内にあるフローティング div を垂直方向に揃えようとしています。親divにはさまざまな量のコンテンツを含めることができるため、フローティングdivに固定マージントップを設定する必要があるのではなく、垂直に配置したいと思います。ここでのライブ例では、右矢印が灰色の div の右上隅にありますが、垂直方向に中央揃えにしたいhttp://jsbin.com/oriqow/1/

CSS:

.item { vertical-align:middle; border: 1px solid #999; padding: 10px; background: #e6e6e6; border-radius: 4px; }
.item > div:not(.arrow) { margin-bottom:10px; }
.arrow { float: right; }

HTML:

<div class="item">
  <div class="arrow">▶&lt;/div>
  <div>Title</div>
  <div>Sub title</div>
  <div>Another potential element here</div>
  <div>And another</div>
</div>
4

2 に答える 2

4

このスタイルを.arrowクラスに追加します。

position: absolute;
right: 0;
top: 50%;
margin-top: -18px;

(そしてfloat:right;を削除します)

そして、これを.itemクラスにします。

position: relative;
于 2012-07-31T16:12:29.483 に答える
0

http://jsfiddle.net/v8f8Q/

.item { position:relative; vertical-align:middle; border: 1px solid #999; padding: 10px; background: #e6e6e6; border-radius: 4px; }
.item > div:not(.arrow) { margin-bottom:10px; }
.arrow { position:absolute; top:45%; right:2%; }​
于 2012-07-31T16:13:51.990 に答える