【发布时间】:2016-10-31 21:14:55
【问题描述】:
我有一个右边距为 6 像素的颜色选择器。
我希望白色正方形(带有黑色复选标记)没有右边距,这样它就不会换行到下一行。因为我想使用完整的宽度。
我不想使用边距为 0 的类,因为当我选择一种颜色时,第 8 个元素可能是黑色方块。
而且在较小的设备上,换行可以在第 3 个元素而不是第 8 个元素处。
所以我正在寻找一种自动检测方法。
我更喜欢 CSS 解决方案,但 Javascript/jQuery 也不错。
元素是左浮动的列表项
ul.colors li, ul.colors li.chosen {
margin: 0 !important;
padding: 3px 6px 3px 0 !important;
}
ul.colors li .colorbox {
height: 18px;
width: 18px;
border: 1px solid #dbdbd1;
}
ul.colors, ul.colors li {
float: left;
list-style: none
}
ul.colors { width: 180px; background: #ccc; padding: 10px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="ajax-layered"><ul class="colors show-count"><li class="chosen filter-selected"><a href="#" data-filter="/?filter_kleur-filter=736" data-count="34" data-link="/?filter_kleur-filter=736"><div class="colorbox f_blauw" style="background:#0000ff;" alt="Blauw" title="Blauw"></div></a></li><li class=""><a href="#" data-filter="/?filter_kleur-filter=726,736,729" data-count="12" data-link="/?filter_kleur-filter=726,736,729"><div class="colorbox f_geel" style="background:#ffff00;" alt="Geel" title="Geel"></div></a></li><li class=""><a href="#" data-filter="/?filter_kleur-filter=726,736,752" data-count="6" data-link="/?filter_kleur-filter=726,736,752"><div class="colorbox f_grijs" style="background:#808080;" alt="Grijs" title="Grijs"></div></a></li><li class=""><a href="#" data-filter="/?filter_kleur-filter=726,736,730" data-count="19" data-link="/?filter_kleur-filter=726,736,730"><div class="colorbox f_groen" style="background:#008000;" alt="Groen" title="Groen"></div></a></li><li class=""><a href="#" data-filter="/?filter_kleur-filter=726,736,734" data-count="6" data-link="/?filter_kleur-filter=726,736,734"><div class="colorbox f_oranje" style="background:#ffa600;" alt="Oranje" title="Oranje"></div></a></li><li class=""><a href="#" data-filter="/?filter_kleur-filter=726,736,735" data-count="24" data-link="/?filter_kleur-filter=726,736,735"><div class="colorbox f_rood" style="background:#ff0000;" alt="Rood" title="Rood"></div></a></li><li class=""><a href="#" data-filter="/?filter_kleur-filter=726,736,823" data-count="2" data-link="/?filter_kleur-filter=726,736,823"><div class="colorbox f_roze" style="background:#ff69b4;" alt="Roze" title="Roze"></div></a></li><li class="chosen filter-selected"><a href="#" data-filter="/?filter_kleur-filter=726" data-count="34" data-link="/?filter_kleur-filter=726"><div class="colorbox f_wit" style="background:#ffffff;" alt="Wit" title="Wit"></div></a></li><li class=""><a href="#" data-filter="/?filter_kleur-filter=726,736,738" data-count="21" data-link="/?filter_kleur-filter=726,736,738"><div class="colorbox f_zwart" style="background:#000000;" alt="Zwart" title="Zwart"></div></a></li><li class=""><a href="#" data-filter="/?filter_kleur-filter=726,736,831" data-count="3" data-link="/?filter_kleur-filter=726,736,831"><div class="colorbox f_transparant" style="background:#efefff;" alt="Transparant" title="Transparant"></div></a></li></ul></div>
【问题讨论】:
-
你能分享可执行的 demo/sn-p 或JSFiddle 吗? Create a Minimal, Complete, and Verifiable example
-
你可以使用 width:auto
-
使用
margin-left并避免 if 用于第一个元素.. -
@SunilPachlangia 它是一个带有背景颜色的空元素。所以将宽度设置为自动框将是 1px。
-
@Rayon 我已经尝试过那个,但是我在第 8/9 个元素上也有一个左边距,女巫在左边的新行上有一个空白
标签: javascript jquery html css margin