我不知道我应该如何解释,但我想自动宽度项目1和2之间的区域(空间)。我不确定它是ul还是li....
我还想让item 1垂直于其子元素的中心。我尝试了很多方法来处理CSS,但我找不到一个解决方案。请大家多多指教。
现在像
----- -------
| P | I want to be like this -> | C |
----- -------
----- ------- -------
| C | | P | | C |
----- ------- -------
----- -------
| C | | C |
----- -------
-----
| C |
-----
the width of P will auto change
CSS .div {
border: 1px solid #666;
overflow: hidden;
display: table;
height: 30px;
width: 100px;
}
ul{
list-style:none;
}
HTML <ul>
<li>
<div class="div">Item 1</div>
<ul>
<li>
<div class="div">Item 1.1</div>
</li>
<li>
<div class="div">Item 1.2</div>
</li>
<li>
<div class="div">Item 1.3</div>
</li>
<li>
<div class="div">Item 1.4</div>
</li>
</ul>
</li>
<li>
<div class="div">Item 2</div>
</li>
<li>
<div class="div">Item 3</div>
</li>
<li>
<div class="div">Item 4</div>
</li>
</ul>
我认为小提琴只是一个近似的小提琴。但是看看这个。http://jsfiddle.net/nQvEW/138/
我所做的是,我认为第一个li元素是类parent的父元素,并将它们相对于主页面定位。
.parent {
position:relative;
}
其次,我考虑了父元素中的ul,并将其相对于父元素li(包含父元素li和子元素ul)进行了定位,并适当地应用了left属性。
.parent ul{
position:relative;
left:20%;
}
第三,我将父元素中的div元素定位为相对于父元素的绝对值。你可以稍微调整一下,最上面的百分比。这实际上很重要,因为为了保持子元素的边距,父元素需要向下移动。理想情况下,顶部属性值应该是50%。
.parent .div {
position:absolute;
top:40%;
}
处理这个问题的方法有很多。在你的例子中,你并没有真正表达一个整体的宽度,所以让我们说你想要P和C都在一起。
<div class="containBoth" style="width:500px;">
<div class="c" style="float:right;width:300px;">
<ul>
<li>c</li>
<li>c</li>
</ul>
</div>
<div class="p" style="margin-right:20px">
P
</div>
</div><!-- close containBoth-->
当然,我使用内联样式是为了提高速度。你应该像我一样分配类,把实际的css放到一个表格中。我把这两件事都做了给你们看。请记住,当你向右浮动一些东西时,它需要在html文档中首先出现,也就是content/div/etc。