最近我发现了文本区域样式的问题。当我将以下代码插入 yii 应用程序的视图文件中时,及以下在 css> css 文件中给定的样式代码时,文本区域的边界如遇到时所见一个错误,即当我没有在文本区域中输入任何文本时。
查看文件代码
<div class="form">
<?php echo $form->labelEx($model,'body'); ?>
<div class="clear"></div>
<?php echo $form->textArea($model,'body',array('style' => 'min-width:80%;max-width:80%;min- height:20%;max-height:200px;border:1px solid #666')); ?>
<?php echo $form->error($model,'body'); ?>
</div>
CSS
.form .error label:first-child,.form .error {
color:#C00;
}
.form div.error textarea,div.form textarea.error{
background:#FEE;
border-color:#C00;
}
现在,当我在外部样式表中插入inline css 代码:
array('style' => 'min-width:80%;max-width:80%;min- height:20%;max-height:200px')
文本区域边界的颜色按照我的意愿发生变化。我只是想知道,这是由于内联样式的优先级而比样式表的优先级或其他原因。
这听起来像是一个特殊性问题,您可以在这里阅读有关它的信息,但是一般要旨是CSS中的一种优先级:
-
!important
- 内联样式
div style="color=red"
- 元素ID的
div id=""
- 类,属性和伪级
class="", :focus
- 元素和伪元素
body, :before
您可以做的第一件事是要测试是否是特定性问题是在声明后使用!important
,如果有效,则是,您是在其他地方定义样式,需要用更具体的东西覆盖它(可能需要)ID)