我正在尝试建立一个像这样的多选:
此刻看起来像是: JSFiddle Demo
* {
box-sizing: border-box;
}
#data {
overflow:hidden;
padding:0;
width:100vw;
}
select {
padding:0;
padding-left:1px;
border:none;
background-color:#eee;
width:100vw;
}
option {
height:100px;
width:100px;
border:1px solid #000;
background-color:white;
margin-left:-1px;
display:inline-block;
}
<form>
<div id="data">
<select multiple size="1">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
</select>
</div>
</form>
现在唯一缺少的就是换行。
希望你能帮忙! :)
答案 0 :(得分:3)
您可以使用在文本中插入换行符的常规方法。对于<select>
代码,white-space
样式默认情况下更改为nowrap
,因此您需要做的就是将其更改回normal
:
* {
box-sizing: border-box;
}
#data {
overflow:hidden;
padding:0;
width:100vw;
}
select {
padding:0;
padding-left:1px;
border:none;
background-color:#eee;
width:100vw;
white-space: normal;
height:200px;
}
option {
height:100px;
width:100px;
border:1px solid #000;
background-color:white;
margin-left:-1px;
display:inline-block;
}
&#13;
<form>
<div id="data">
<select multiple size="1">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
</select>
</div>
</form>
&#13;
答案 1 :(得分:2)
以下更改应该可以解决问题
从overflow:hidden;
#data
将overflow:visible;
添加到select
并将float:left;
添加到option
。
答案 2 :(得分:1)