nth-of-type
работает в соответствии с индексом того же типа элемента, но nth-child
работает только в соответствии с индексом независимо от того, какой тип элементов сиблингов.
Например
<div class="one">...</div>
<div class="two">...</div>
<div class="three">...</div>
<div class="four">...</div>
<div class="five">...</div>
<div class="rest">...</div>
<div class="rest">...</div>
<div class="rest">...</div>
<div class="rest">...</div>
<div class="rest">...</div>
Предположим, что в выше html мы хотим скрыть все элементы, имеющие класс отдыха.
В этом случае nth-child
и nth-of-type
будут работать точно так же, как и все элементы одного типа, <div>
, поэтому css должен быть
.rest:nth-child(6), .rest:nth-child(7), .rest:nth-child(8), .rest:nth-child(9), .rest:nth-child(10){
display:none;
}
OR
.rest:nth-of-type(6), .rest:nth-of-type(7), .rest:nth-of-type(8), .rest:nth-of-type(9), .rest:nth-of-type(10){
display:none;
}
Теперь вам должно быть интересно узнать, в чем разница между nth-child
и nth-of-type
, так что это разница
Предположим, что html is
<div class="one">...</div>
<div class="two">...</div>
<div class="three">...</div>
<div class="four">...</div>
<div class="five">...</div>
<p class="rest">...</p>
<p class="rest">...</p>
<p class="rest">...</p>
<p class="rest">...</p>
<p class="rest">...</p>
В приведенном выше html тип элемента .rest
отличается от других .rest
- это абзацы, а другие - div, поэтому в этом случае if вы используете nth-child
, вы должны писать так
.rest:nth-child(6), .rest:nth-child(7), .rest:nth-child(8), .rest:nth-child(9), .rest:nth-child(10){
display:none;
}
, но если вы используете nss-тип css, это может быть
.rest:nth-of-type(1), .rest:nth-of-type(2), .rest:nth-of-type(3), .rest:nth-of-type(4), .rest:nth-of-type(5){
display:none;
}
Как тип Элементом
blockquote >.rest
является<p>
, поэтому здесьnth-of-type
обнаруживает тип.rest
, а затем он накладывает css на 1-й, 2-й, 3-й, 4-й, 5-й элементы<p>
.
Просто напишите в Razor View, т.е. в .cshtml файле под строкой
@Html.PasswordFor(m=>m.Password)
Здесь m - объект модели, а password - имя поля пароля.
Либо используйте вспомогательную функцию HTML Password
:
<%= Html.Password("Password") %>
, либо используйте параметр type
в поле ввода:
<input name="password" type="password" />
См. Листинги 4 и 5 в эта страница
ниже - расширение, основанное на html-помощнике:
перед преобразованием:
@Html.TextBox("mypass", null, new { style = "width: 200px;" })
После преобразования:
@Html.Password("mypass", null, new { style = "width:200px;" })
надежда помогает кому-то.
При использовании строго типизированного представления и начальной загрузки используйте следующий код, чтобы убедиться, что поле пароля правильно оформлено:
@Html.PasswordFor(model => model.Password, new { @class = "form-control" })
Существует много типов использования текстовых полей с паролем в ASP. NET MVC
С элементами управления html это будет выглядеть так:
<input type="password" name="xx" id="yy">
С Razor-синтаксисом это будет похоже на:
@Html.Password(name, value, html_attributes)
Или в строго типизированном виде мог написать
@Html.PasswordFor(model=>model.Password)
<div class="editor-field">
@Html.PasswordFor(model => model.Password, new { htmlAttributes = new { @class = "form-control", placeholder = "Password" } })
@Html.ValidationMessageFor(model => model.Password)
</div>
В файле .cshtml:
@Html.PasswordFor(modal => modal.Password)
@Html.EditorFor(model => model.Password,
"Password",
new { htmlAttributes = new { @class = "form-control" } })
Другой способ - добавить @type = password
к вашим html.texbox()
атрибутам, например, так:
перед преобразованием:
@Html.TextBox("mypass", null, new { @class = "" })
После преобразования:
@Html.TextBox("mypass", null, new { @class = "", @type = password })
Это замаскирует текст вашего текстового поля кружками вместо текста. Это происходит потому, что атрибут @type = password
сообщает вашему текстовому полю, что он имеет тип «пароль».
Этот метод преобразования вашего текстового поля в ввод пароля является простым и быстрым способом преобразования из стандартного текстового поля формы бритвы.