У меня проблема с приоритетом CSS в поле ввода. Ширина 96%
применяется, тогда как в соответствии с правилами приоритета должна применяться ширина auto
. Если я применяю !important
, применяется стиль, который я хочу применить. Однако это не то, как я хотел бы решить проблему.Правила приоритета CSS не применяются должным образом на ширине поля ввода
У меня есть поле ввода реализовано таким образом
<fieldset>
<label>Search</label>
<input type="text" class="standard-size"> <!-- Referring to this -->
</fieldset>
И влияние этих 2 CSS декларации:
fieldset input[type=text] {
width: 96%;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
border: 1px solid #BBBBBB;
height: 20px;
color: #666666;
-webkit-box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
-moz-box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
padding-left: 10px;
background-position: 10px 6px;
margin: 0;
display: block;
float: left;
margin: 0 10px;
}
.standard-size {
width: auto ;
}
Согласно этой ссылке: http://www.vanseodesign.com/css/css-specificity-inheritance-cascaade/
очередности работ таким образом (Inline Style, ID, Class, Element) , Число слева предшествует любому числу справа.
В моем случае: FIELDSET ввода [тип = текст] переводит (0,0,0,2), потому что FIELDSET и вход 2 элемента И .Стандартный размера переводится (0,0,1, 0), потому что .стандартный размер один класс CSS
(0,0,1,0) должен иметь приоритет над (0,0,0,2), поскольку 1 просто больше слева, чем 2 и что делает его более важным. Итак, почему ширина 96% занимает?
Спасибо