我有这个
.strike{
text-decoration: line-through;
}
并且每次调用disable()
时,它都会禁用<option>
中的<select>
并添加此类,但它不适用于IE。是的,我的<option>
被禁用就好了,但文字装饰在IE上失败了。这是什么解决方法?感谢。
编辑:我刚发现文字修饰:直通在Chrome上也不起作用。
答案 0 :(得分:1)
样式select
元素的选项很少。这是一个显示您可用选项(和限制)的support grid。
您可能最好以其他方式(example)模拟'select',而不是尝试使用CSS设置选择表单控件的样式。
答案 1 :(得分:1)
通常,option
元素在样式中有许多限制,因为它们的渲染仍然主要基于系统中的内置例程,并且这些例程通常不能用CSS控制。 Overstriking通常不起作用,因为您可以使用简单的静态示例<select><option style="text-decoration: line-through">Hello world</select>
进行测试。 (作为好奇心,Firefox使用直通,但不是初始状态下最初选择的选项。)
考虑使用替代方法。如果无法选择某个选项,为什么不将其删除? (我的意思是用JavaScript删除元素。用CSS隐藏它不会很好。)
或者,将其disabled
属性设置为true
。这将阻止它被选中,并将在流行的浏览器上使用灰色文本显示。
答案 2 :(得分:1)
我的问题是文字装饰:直通;不在IE工作。我在一个声明中使用速记来设置一个或多个单独的文本修饰值(例如文本修饰:直通蓝色虚线)。我发现它还不支持。 https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration
如果您的下划线/直线穿过需要另一种颜色,请使用额外的span元素。
<span style="color:red; text-decoration: line-through;"><span style="color: blue; text-decoration: none">Try this!</span></span>
不确定这是否会对您有所帮助。
答案 3 :(得分:0)
你可能会变得棘手,并在文本div中添加一个像素背景。这至少是面向未来的,适用于所有浏览器。
答案 4 :(得分:-1)
在这里,试试这个:
<p>Bla bla bla <span class="strike">RAAAAAA!</span></p>
和:
span.strike{
position: relative;
text-align: center;
z-index: 1;
}
span.strike:before {
border-top: 1px solid #000;
content:"";
width: 100%;
position: absolute;
top: 50%;
z-index: -1;
}
编辑:哦,它是一个选择。没关系。
答案 5 :(得分:-3)
在这里,试试这个
<select>
<option selected> Size - </option>
<option class="disabledoption">Short Option</option>
<option class="disabledoption">This Is </option>
<option class="disabledoption">dssdsd Is </option>
<option class="disabledoption">yes </option>
<option class=>ertyu </option>
<option class=>gsdgsdf </option>
</select>
<script type="text/javascript">
jQuery(document).ready(function() {
uni = '\u0336';
jQuery('.disabledoption', this).each(function(index, element) {
uni = '\u0336';
var result = strikeString(jQuery(this).html(), uni);
jQuery(this).html(result);
});
});
function strikeString(str, strikeKind) {
var result = '';
for (var i = 0; i < str.length; i++) {
var c = str.charAt(i);
var r = c+strikeKind;
result += r;
}
return result;
}
</script>