В CSS, каково различие между и “#\” при объявлении ряда стилей?

Включите путь module.modulemap и arm64.swiftmodule в настройках приложения SWIFT_INCLUDE_PATHS.

207
задан Sunil Garg 21 March 2018 в 23:36
поделиться

8 ответов

Да, они отличаются...

# идентификационный селектор , используются для предназначения единственный определенный элемент с уникальным идентификатором, но. , селектор класса раньше предназначался приблизительно [1 117] элементы с конкретным классом. Помещать его иначе:

  • #foo {} разработает единственный , элемент, объявленный с атрибутом id="foo"
  • .foo {}, разработает весь элементы с атрибутом class="foo" (Вы можете иметь несколько классов, присвоенных элементу также, просто разделить их с пробелами, например, class="foo bar")

Типичное использование

Вообще говоря, Вы используете # для моделирования чего-то, что Вы знаете, только собирается появиться однажды, например, вещи как отделения расположения высокого уровня такие боковые панели, области баннера и т.д.

, Классы используются, где стиль повторяется, например, скажите заголовок специальной формы заголовка для сообщений об ошибках Вы могли создать стиль h1.error {}, который будет только относиться <h1 class="error">

Специфика

Другой аспект, где селекторы отличаются, находится в их специфике - идентификационный селектор, как считают, более конкретен, чем селектор класса. Это означает это, где стили конфликт на элементе, те определенные с более определенным селектором переопределят менее определенные селекторы. Например, учитывая <div id="sidebar" class="box"> любые правила для #sidebar с переопределением, конфликтующим, правила для [1 110]

Узнают больше о селекторах CSS

, Видят Selectutorial для более больших капсюлей о селекторах CSS - они невероятно мощны, и если Ваша концепция просто, что "# используется для ОТДЕЛЕНИЙ", Вы преуспели бы для чтения на точно, как использовать CSS эффективнее.

РЕДАКТИРОВАНИЕ: Похож на Selectutorial, возможно, перешел к большому веб-сайту в небе, так попробуйте этот ссылка архива вместо этого.

325
ответ дан Paul Dixon 23 November 2019 в 04:44
поделиться

# средства, которым это соответствует id из элемента. Эти . показывает имя класса:

<div id="myRedText">This will be red.</div>
<div class="blueText">this will be blue.</div>


#myRedText {
    color: red;
}
.blueText {
    color: blue;
}

Примечание, что в документе HTML, идентификационный атрибут должен быть уникален , поэтому если у Вас есть больше чем один элемент, нуждающийся в определенном стиле, необходимо использовать имя класса.

27
ответ дан nickf 23 November 2019 в 04:44
поделиться

Точка (.) имеет значение имя класса , в то время как хеш (#) показывает элемент с определенным идентификационный атрибут. Класс будет относиться к любому элементу, украшенному тем конкретным классом, в то время как стиль # будет только относиться к элементу с тем конкретным идентификатором.

Имя класса:

<style>
   .class { ... }
</style>

<div class="class"></div>
<span class="class></span>
<a href="..." class="class">...</a>

Названный элементом:

<style>
   #name { ... }
</style>

<div id="name"></div>
10
ответ дан Sunil Garg 23 November 2019 в 04:44
поделиться

Также стоит отметить, что в каскад , идентификационный (#) селектор - больше конкретный , чем b (.) селектор. Поэтому правила в идентификационном операторе переопределят правила в операторе класса.

, Например, если оба из следующих утверждений:

.headline {
  color:red;
  font-size: 3em;
}

#specials {
  color:blue;
  font-style: italic;
}

применяются к тому же элементу HTML:

<h1 id="specials" class="headline">Today's Specials</h1>

правило color:blue переопределило бы правило color:red.

7
ответ дан Sunil Garg 23 November 2019 в 04:44
поделиться

Несколько быстрых расширений на том, что было уже сказано...

id должно быть уникальным, но можно использовать тот же идентификатор для создания различных стилей более конкретными.

, Например, учитывая это извлечение HTML:

<div id="sidebar">
    <h2>Heading</h2>
    <ul class="menu">
        ...
    </ul>
</div>
<div id="content">
    <h2>Heading</h2>
    ...
</div>
<div id="footer">
    <ul class="menu">
        ...
    </ul>
</div>

Вы могли применить различные стили с ними:

#sidebar h2
{ ... }

#sidebar .menu
{ ... }

#content h2
{ ... }

#footer .menu
{ ... }


Другая полезная вещь знать: у Вас может быть несколько классов на элементе разграничиванием пространства их...

<ul class="main menu">...</ul>
<ul class="other menu">...</ul>

, Который позволяет Вам иметь общее моделирование в .menu с определенными стилями с помощью .main.menu и .sub.menu

.menu
{ ... }

.main.menu
{ ... }

.other.menu
{ ... }
5
ответ дан Peter Boughton 23 November 2019 в 04:44
поделиться

Как в значительной степени все уже указал:

период А (.) указывает класс , и хеш (#) указывает идентификатор .

, который принципиальное различие между - то, что можно снова использовать класс на странице много раз, тогда как идентификатор может использоваться однажды. Таким образом, конечно, если Вы придерживаетесь стандартов WC3.

страница А все еще представит, если у Вас будет несколько элементов с тем же идентификатором, но Вы столкнетесь с проблемами, если/когда Вы попытаетесь динамично обновить, сказал, что элементы путем вызова их с их идентификатором, так как они не уникальны.

также полезно отметить, что свойства ID заменят свойства класса.

4
ответ дан Sunil Garg 23 November 2019 в 04:44
поделиться

.class цели следующий элемент:

<div class="class"></div>

#class цели следующий элемент:

<div id="class"></div>

Примечание, что идентификатор ДОЛЖЕН быть уникальным всюду по документу, пока любое число элементов может совместно использовать класс.

4
ответ дан nickf 23 November 2019 в 04:44
поделиться

# является идентификационным селектором. Это соответствует только элементам идентификатору соответствия. Следующее правило стиля будет соответствовать элементу, который имеет идентификационный атрибут со значением "зеленого" цвета:

#green {color: green}

См. http://www.w3schools.com/css/css_syntax.asp для получения дополнительной информации

2
ответ дан tehvan 23 November 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: