简体   繁体   English

<br> 不配合 <ul><li> 和<span>的</span>

[英]<br> not working with <ul> <li> and <span>'s

I have the following code: 我有以下代码:

<style>
    .Dados h4 { text-transform: uppercase; }
    .Dados ul { margin-left: 0; }
    .Dados ul li { clear: both; }
    .Dados ul li span:nth-child(1) { position: relative; width: 30%; }
    .Dados ul li span:nth-child(2) { position: absolute; width: 70%; left: 30%; }
</style>

<div class="col-md-4 Dados">
    <h4>Seus dados</h4>
    <ul class="list-unstyled">
        <li><span>Name</span> <span>Test Test</span></li>
        <li><span>Email</span> <span>test@test.com</span></li>
        <li><span>Address</span> <span>44, Test Street<br />Test/TS</span></li>
        <li><span>Phone</span> <span>(999) 999 999 999</span></li>
    </ul>
</div>

I need that the span lines up to 30% of the li and at the same time that the last li (Phone) don't overlap the li of the Address. 我需要跨度最多为li的30%,并且同时最后一个li(电话)不要与Address的li重叠。

I already have three boxes col-md-4 side by side that needs to be visible. 我已经并排放置了三个需要显示的col-md-4框。

Thank you! 谢谢!

The problems are 问题是

  • Absolute positioning removes the element from the normal flow, so there may be overlaps. 绝对定位会将元素从正常流中移除,因此可能存在重叠。
  • span elements are inline by default, therefore the width property does not apply. span元素默认为inline ,因此width属性不适用。 Make them inline-block instead. 改为将它们inline-block
.Dados > ul > li > span {
  display: inline-block;
  vertical-align: top;
}
.Dados > ul > li > span:nth-child(1) {
  width: 30%;
}

 .Dados > h4 { text-transform: uppercase; } .Dados > ul { margin-left: 0; } .Dados > ul > li > span { display: inline-block; vertical-align: top; } .Dados > ul > li > span:nth-child(1) { width: 30%; } 
 <div class="col-md-4 Dados"> <h4>Seus dados</h4> <ul class="list-unstyled"> <li><span>Name</span> <span>Test Test</span></li> <li><span>Email</span> <span>test@test.com</span></li> <li><span>Address</span> <span>44, Test Street<br />Test/TS</span></li> <li><span>Phone</span> <span>(999) 999 999 999</span></li> </ul> </div> 

Since you are already clearing floats on the li , you might as well float the spans too. 由于您已经清除了li上的浮点数,因此您也可能会跨度浮点数。

  .Dados h4 { text-transform: uppercase; } .Dados ul { margin-left: 0; } .Dados ul li { clear: both; list-style-type: none; } .Dados ul li span { float: left; } .Dados ul li span:nth-child(1) { width: 30%; } .Dados ul li span:nth-child(2) { width: 70%; } 
 <div class="col-md-4 Dados"> <h4>Seus dados</h4> <ul class="list-unstyled"> <li><span>Name</span> <span>Test Test</span> </li> <li><span>Email</span> <span>test@test.com</span> </li> <li><span>Address</span> <span>44, Test Street<br />Test/TS</span> </li> <li><span>Phone</span> <span>(999) 999 999 999</span> </li> </ul> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM