Почему объявление класса CSS не работает с тегом <div>?

0

Я хочу создать чистую CSS-кодировку, в которой классы создаются для определенных атрибутов, например, класс ".20mleft" для применений 20px margin-left to html. Я хочу, чтобы div имел ширину 620 пикселей, а другой div имел ширину 220 пикселей. Оба divs размещены слева, а ширина div 620px должна иметь правую границу 20px. Оба div содержатся внутри класса контейнера div. Это коды.

HTML:

<div class="container">
  <div class="8cols fleft 20mright" style="border:1px #333 solid;"><p>This is the Main Content</p></div>
  <div class="3cols fleft" style="border:1px #333 solid;"><p>This is theSidebar</p></div>
</div>

Я использую 12 столбцов 960 сетки BTW.

CSS:

/** FLOAT OPTIONS **/
.fleft{float:left;}

/** BOX ELEMENTS **/
.container{width:940px; margin:0 auto;}
...
.3cols {width: 220px;}
...
.8cols {width: 620px;}

/** MARGIN OPTIONS **/
...
.20mright{margin-right:20px;}

Проблема. Свойства класса.fleft - это ТОЛЬКО ОДИН, работающий вообще. Свойства классов.8cols,.3cols и.20mright не применимы. Я проверил Firefox Inspector, и я не смог увидеть свойства, кроме объявления класса.fleft. Похоже, что ширина divs контролируется содержимым внутри него.

Для лучшего объяснения загрузите изображение ниже:

Пример изображения

PS Игнорируйте заголовок выше. Это мой проект, если вам интересно.

Пожалуйста, помогите мне как можно скорее. Большое спасибо.

  • 0
    Пожалуйста, сделайте Jfiddle
  • 1
    возможный дубликат стиля CSS, не распознающий числа
Теги:
class
declaration

3 ответа

5

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

Однако вы можете использовать экраны, чтобы обойти эту проблему. Например, вы можете избежать "8cols" как:

.\38 cols { width: 620px; }

в файле CSS. Лично это похоже на то, что было бы ужасно быстро. Вот инструмент цитаты для CSS.

Не совсем правильно сказать, что специальные символы являются "недопустимыми" в именах классов и "id"; это не так, но к ним нужно относиться особо. Правила для идентификаторов, но ни имена классов, ни значения id не должны быть идентификаторами.

  • 0
    скрипка для этого => jsfiddle.net/dh7yB
  • 0
    Почему это требует скрипки?
2

Здесь лучший ответ

Название класса должно начинаться с символа подчеркивания (_), тире (-) или letter(a–z) и должно быть не менее 2 символов.

-?[_a-zA-Z]+[_a-zA-Z0-9-]*
2

Имена классов CSS, начинающиеся с символа числа, недопустимы. Пожалуйста, прочитайте, какие символы действительны в селекторах классов CSS?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню