Div溢出显示表格单元格

时间:2012-11-05 14:18:31

标签: html css

我在另一个div中有许多div试图制作一个“bbokshelf”。为了对齐“书籍”div底部,我使用display:table-cell css属性,并且使用容器宽度为100%,但是当内部div填充容器时,它们开始溢出。有没有办法让它们出现在行中,比如漂浮它们还是什么东西? float: left没有用。 HTML:

<div class="magazinebookcase">
    <div class="books">
    <a style="height:286px;width:16px;" href="">
            <div class="rotate">Book 9</div>
    </a>
    </div>
            <div class="books">
    <a style="height:258px;width:48px;" href="">
            <div class="rotate">Book 10</div>
    </a>
    </div>
            <div class="books">
    <a style="height:252px;width:38px;" href="">
            <div class="rotate">Book 11</div>
    </a>
    </div>
            <div class="books">
    <a style="height:254px;width:34px;" href="">
            <div class="rotate">Book 12</div>
    </a>
    </div>
            <div class="books">
    <a style="height:258px;width:36px;" href="">
            <div class="rotate">Book 13</div>
    </a>
    </div>
            <div class="books">
    <a style="height:258px;width:50px;" href="">
            <div class="rotate">Book 14</div>
    </a>
    </div>
            <div class="books">
    <a style="height:254px;width:52px;" href="">
            <div class="rotate">Book 15</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:72px;" href="">
            <div class="rotate">Book 16</div>
    </a>
    </div>
            <div class="books">
    <a style="height:258px;width:38px;" href="">
            <div class="rotate">Book 17</div>
    </a>
    </div>
            <div class="books">
    <a style="height:252px;width:40px;" href="">
            <div class="rotate">Book 18</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:46px;" href="">
            <div class="rotate">Book 19</div>
    </a>
    </div>
            <div class="books">
    <a style="height:284px;width:14px;" href="">
            <div class="rotate">Book 20</div>
    </a>
    </div>
            <div class="books">
    <a style="height:252px;width:42px;" href="">
            <div class="rotate">Book 21</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:44px;" href="">
            <div class="rotate">Book 22</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:44px;" href="">
            <div class="rotate">Book 23</div>
    </a>
    </div>
            <div class="books">
    <a style="height:262px;width:60px;" href="">
            <div class="rotate">Book 24</div>
    </a>
    </div>
            <div class="books">
    <a style="height:284px;width:14px;" href="">
            <div class="rotate">Book 25</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:40px;" href="">
            <div class="rotate">Book 26</div>
    </a>
    </div>
            <div class="books">
    <a style="height:254px;width:58px;" href="">
            <div class="rotate">Book 27</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:40px;" href="">
            <div class="rotate">Book 28</div>
    </a>
    </div>
            <div class="books">
    <a style="height:257px;width:41px;" href="">
            <div class="rotate">Book 29</div>
    </a>
    </div>
            <div class="books">
    <a style="height:258px;width:40px;" href="">
            <div class="rotate">Book 30</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:34px;" href="">
            <div class="rotate">Book 31</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:42px;" href="">
            <div class="rotate">Book 32</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:44px;" href="">
            <div class="rotate">Book 33</div>
    </a>
    </div>
            <div class="books">
    <a style="height:254px;width:40px;" href="">
            <div class="rotate">Book 34</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:40px;" href="">
            <div class="rotate">Book 35</div>
    </a>
    </div>
            <div class="books">
    <a style="height:252px;width:42px;" href="">
            <div class="rotate">Book 36</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:44px;" href="">
            <div class="rotate">Book 37</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:34px;" href="">
            <div class="rotate">Book 38</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:36px;" href="">
            <div class="rotate">Book 39</div>
    </a>
    </div>
            <div class="books">
    <a style="height:252px;width:26px;" href="">
            <div class="rotate">Book 40</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:34px;" href="">
            <div class="rotate">Book 41</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:50px;" href="">
            <div class="rotate">Book 42</div>
    </a>
    </div>
            <div class="books">
    <a style="height:258px;width:48px;" href="">
            <div class="rotate">Book 43</div>
    </a>
    </div>
            <div class="books">
    <a style="height:258px;width:46px;" href="">
            <div class="rotate">Book 44</div>
    </a>
    </div>
            <div class="books">
    <a style="height:256px;width:60px;" href="">
            <div class="rotate">Book 45</div>
    </a>
    </div>
        <div class="clearfix"></div>
</div>​

CSS:

.magazinebookcase {
width: 100%;
padding: 3px;
float:left;
} 

.magazinebookcase .clearfix {
clear:both;
}

.magazinebookcase .books {
display: table-cell;
vertical-align: bottom;
text-align:center;
}

.magazinebookcase a {
border: 1px solid #000;
display: block;
font-size: 0.7em;
}

.magazinebookcase a:hover {
background-color: #ccc;
}

.rotate {
-moz-transform: rotate(270deg);
-moz-transform-origin: 50% 50%;
-webkit-transform: rotate(270deg);
-webkit-transform-origin: 50% 50%;
position: relative;
top: 50%;
}​

http://jsfiddle.net/b8K7u/

2 个答案:

答案 0 :(得分:2)

而不是display: table-cell;尝试display: inline-block;

像这样。

.magazinebookcase .books {
display: inline-block;
vertical-align: bottom;
text-align:center;
}

http://jsfiddle.net/b8K7u/1/

答案 1 :(得分:0)

你遇到的问题是,为了让你的书变窄,你使用的是一个很窄的宽度。但是,该宽度由具有书名的元素继承。但是,该元素在旋转后显示,但它的宽度仍然很窄。换句话说,宽度是相对于局部坐标系(当旋转不是90度的倍数时,这是唯一的方法)。