5

最近、テキストエリアのスタイリングに問題があることがわかりました。Yiiアプリケーションのビュー ファイルに次のコードを挿入し、 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;
}

外部スタイルシート内にインラインCSSコードを挿入すると、次のようになります。

 array('style' => 'min-width:80%;max-width:80%;min- height:20%;max-height:200px')

テキスト領域の境界線の色が思い通りに変わります。これがスタイルシートよりもインラインスタイルの優先度が高いために発生するのか、それとも他の理由で発生するのかを知りたかっただけです。

4

1 に答える 1

4

これは特異性の問題のように聞こえます。ここでそれについて読むことができますが、一般的な要点は CSS の優先事項のようなものです。

  1. !important
  2. インライン スタイルdiv style="color=red"
  3. 要素IDdiv id=""
  4. クラス、属性、疑似クラスclass="", :focus
  5. 要素と疑似要素body, :before

それが特異性の問題であるかどうかをテストするために最初にできることは!important、宣言の後に使用することです.

于 2012-12-19T12:22:51.590 に答える