日期:2014-05-17  浏览次数:20724 次

隐藏<select>边框及下拉箭头
用CSS样式隐藏<select>的四周边框及下拉箭头,主要是用来打印的,为了美观,只想显示选中内容。
我用样式控制了,单独测试可以实现效果,但放在列表中的<td>里,位置就不美观,选中的内容压着列表线,怎么办啊?
<style>
    .select-style{
position:absolute; 
overflow:hidden;
}
    .select-style select{
         margin:-2px;
margin-right:-20px;
</style>
<span class="select-style">
<select name="selStyle" style="font-size: 16px;color:black;background-color: #FFFFFF;border:0px solid #FFFFFF;">
<option value="0" style="width:20px;border:0px solid #FFFFFF;">张</option>
<option value="1" style="width:20px;">台</option>
<option value="2" style="width:20px;">米</option>
<option value="3" style="width:20px;">件</option>
<option value="4" style="width:20px;">个</option>
<option value="5" style="width:20px;">块</option>
</select>
 </span>
以上这样,放在页面上测试,可以实现我要的效果。但是
<td width="50px;">
<span class="select-style">
<select name="selStyle" style="font-size: 16px;color:black;background-color: #FFFFFF;">
<option value="0" style="width:20px;">张</option>
<option value="1" style="width:20px;">台</option>
<option value="2" style="width:20px;">米</option>
<option value="3" style="width:20px;">件</option>
<option value="4" style="width:20px;">个</option>
<option value="5" style="width:20px;">块</option>
</select>
</span>
</td>
外面加上<td>显示在列表中,就出现汉字压杠儿的问题了。
求高手解决啊!!!
------解决方案--------------------
可以换一个思路,用js 来解决
把select 隐藏,添加一个textbox 来显示select 的值,大概逻辑是这样,没测试过的代码,可能有写错的单词,我没用IDE,直接上的代码!

function hiddenSelect(){
var slcList=document.getElementsByTagName('select');
var ipt ;
for(var i=0;i<slcList.length;i++){
ipt = document.createElement("input");
ipt.setAttribute('slcValue',slcList[i].value); // 设置选中的值
ipt.value = slcList[i].options[slcList[i].selectedIndex].text;
slcList[i].parentNode.appendChild(ipt);
slcList[i].style.display="none";
}
}