Div具有内容自动宽度以及div自动宽度的父级

时间:2015-12-10 15:01:52

标签: javascript css html5 css3

这是我的html外观:

<div class="right fly" style="top: 45px;">
<div class="dataContainer">
    <div class="fuelLvlInfo">
        <div class="header"><i class="ion-arrow-down-b"></i>Paliwo - poziomowskaz</div>
        <ul>
            <li class="usage"><div class="n"><span>Zużycie [l]:</span></div><div class="v">24</div></li>
            <li class="lvl"><div class="n"><span>Poziom paliwa [l]:</span></div><div class="v">---</div></li>
            <li class="avgUsageKm"><div class="n"><span>Śr. zużycie [l/100km]:</span></div><div class="v">46.4</div></li>
            <li class="avgUsageHour"><div class="n"><span>Śr. zużycie [l/h]:</span></div><div class="v">---</div></li>
        </ul>
    </div>

    <div class="fuelflowInfo">
        <div class="header"><i class="ion-arrow-down-b"></i>Paliwo - przepływomierz</div>
        <ul>
            <li class="usage"><div class="n"><span>Zużycie [l]:</span></div><div class="v">1</div></li>
            <li class="avgUsageKm"><div class="n"><span>Śr. zużycie [l/100km]:</span></div><div class="v">1.9</div></li>
            <li class="avgUsageHour"><div class="n"><span>Śr. zużycie [l/h]:</span></div><div class="v">---</div></li>
            <li class="counter"><div class="n"><span>Licznik [l]:</span></div><div class="v">---</div></li>
        </ul>
    </div>
</div>

这是预览:

enter image description here

我需要的是:将.right设为自动宽度,li中的div必须是50%的宽度或宽度,等于最长的div.n内容。

尝试过白色空间:nowrap;显示:内联块等不起作用。

https://jsfiddle.net/eta71Lbx/

预览我的期望:

50%宽度 enter image description here 或宽度固定到内容长度(左侧或右侧) enter image description here

1 个答案:

答案 0 :(得分:1)

您正在使用span元素,该元素将根据内容缩小。我会避免使用span。 但是如果你需要使用它,那么这里是使用jQuery解决菜单的.right部分的工作。

  • 删除> div { width:50%; }
  • 上的50%
  • white-space:nowrap;添加到 .n课程。<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
  • (如果在创建列表后已经包含了jQuery,那么 不要这样做)。包含jQuery: $(document).ready(function() {var maxWidth = 0;$( "li .n" ).each(function( index ) {var w = parseInt($(this).css('width').replace('px', ''));if(maxWidth<w){maxWidth = w;}});var m = maxWidth + 'px';$( ".n" ).css('width', m);});
  • 将以下内容添加到您想要的就绪或内部函数中:

    codecvt

https://jsfiddle.net/eta71Lbx/3/

希望有所帮助!