Как можно переопределить класс CSS, чтобы ничего не применялось?
Что я на самом деле пытаюсь сказать, и извините, если название, если мы устали, это то, что у меня есть фреймворк (Richfaces), который применяет свой собственный стиль. У меня есть корпоративный CSS, и я не эксперт по CSS, все, что мне нужно, это переопределить CSS, исходящий из richfaces, чтобы ничего не применялось по сравнению с корпоративным CSS.
Вот CSS от richfaces, которые я не хочу применять:
*.rf-dt-hdr-c {
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #C4C0C9;
border-right-width: 1px;
border-right-style: solid;
border-right-color: #C4C0C9;
background-color: #D4CFC7;
background-image: url(/rfRes/colHdrGrad.png.xhtml?v=4.0.0.Final&db=eAFjZJBjZDBiZBBh!H!!zlXG!1fOH2dgAgA4fAdk&ln=org.richfaces.images);
background-position: top left;
color: #000000;
font-family: Arial, Verdana, sans-serif ;
font-size: 11px;
font-weight: bold;
padding: 4px;
text-align: center;
}
3 ответа
Чтобы переопределить это, вы можете просто сбросить каждое правило до того, что вы предпочитаете, и убедиться, что ваш корпоративный CSS отображается ниже в порядке ссылок. (То есть ваши корпоративные стили применяются в последнюю очередь.)
Например, если вы переделываете каждый стиль в соответствии со своими потребностями в CSS, вы должны связать их следующим образом
<link rel="stylesheet" type="text/css" href="Styles/richface.css" />
<link rel="stylesheet" type="text/css" href="Styles/corporate.css" />
Если стили совпадают, будет применен тот, который появляется ниже / позже в порядке (потому что он перезапишет первый).
Действительно, чтобы ваши стили переопределяли другие, ваш CSS должен быть более конкретным, чем другой CSS.
Таким образом, вы также можете установить элементы, чтобы быть более конкретными.
Вместо
*.rf-dt-hdr-c {
сделать что-то вроде
div#wrapper div.rf-dt-hdr-c {
что увеличивает специфичность. Конечно, правила должны соответствовать вашему HTML.
Подробнее о специфике см. По адресу: http://www.htmldog.com/guides/cssadvanced/specificity/
Это невозможно в том смысле, в каком вы описываете в комментарии к ответу: "Я не знаю, чем переопределить свойство". В правиле CSS нет способа указать, что другое правило просто не будет применяться.
text-align: center !important;
!important
переопределяет другие стили