2010-05-02 3 views
5

Привет всем, мне нужна помощь в выяснении того, как переопределить «* {margin: 0; padding: 0;}» в моем css.CSS * {margin: 0; padding: 0;} override

Причина в том, что у меня есть этот CSS:

.postcomments { width: 547px; padding: 5px 5px 5px 5px; margin: 0 0 5px 0;} 
.postcomments a { text-decoration: underline;} 
.postcomments ul { margin: 0; padding: 0; list-style-type: none;} 
.postcomments ul li { width: 547px; margin: 0 0 5px 0; padding: 0; list-style-type: none;} 
.postcomments .right { color: #474747; font-size: 11px; background: #fff url('http://www.nextbowluser.com/img/ucBG.gif') no-repeat top left; line-height: 17px; padding: 5px 0 0 0; width: 430px; position: relative; float: right; min-height: 50px;} 
.postcomments .right .bottom { padding: 0 5px 15px 5px; background: #fff url('http://www.nextbowluser.com/img/ucBG.gif') no-repeat bottom right; min-height: 50px;} 
.postcomments .arrow { left: -15px; top: 20px; position: absolute;} 
.avatar { border: none !important;} 

.postcomments .left {float: left; margin: 0 7px 0 0;} 
.postcomments .gravatar { background: #fff; width: 80px; height: 60px; margin: 0 0px 0 0; padding: 3px;} 
.postcomments .name { font-size: 11px; margin: 2px 0 0 0; color: #000;} 
.avatar { border: none !important;} 

и отображает только штраф БЕЗ * {маржа: 0; отступы: 0;}:

1st comment 
2nd comment 
3rd comment 

Однако, когда я добавлю, что в CSS, это делает комментарии стека неправильно:

1st comment 
    2nd comment 
     3rd comment 

Я бы просто вынуть * {маржа: 0; утеплитель: 0 ;} но некоторые другие вещи на странице нуждаются в том, чтобы это отображалось правильно. Итак, мой вопрос: как я могу переопределить {margin: 0; padding: 0;} только для этой посткомментационной части страницы?

Спасибо! : О)

Дэвид

UPDATE: Ну. все еще не получается правильно. Выбрав маржу: 0px для всего сайта, это делает сайт ужасным. И если мне нужно добавить margin: 0px к каждому элементу страницы, чтобы он выглядел так, как будто бы с *, то это не хорошо. Мне все еще нужно что-то, чтобы обойти его для части .postcomments и все.

+1

Только не делайте этого. Дайте всем элементам блока свой собственный запас/дополнение. – BalusC

+1

Какова ваша структура HTML? Кажется странным, что комментарии отступают в любом случае. – icio

+0

Balus C является правильным; не делайте этого. Тем не менее, мои инстинкты говорят мне, что есть элементы привязки (''), для которых вы не изменили дополнение полей. Вы также должны отказаться от использования '! Important' и заглянуть в спецификацию CSS - http://www.w3.org/TR/CSS2/cascade.html#specificity –

ответ

1

Возможно использование одного reset.css (eric meyer например.) Доступных скриптов. затем посмотрите, как вы создаете неупорядоченные списки. если есть вложенные ul, вы обычно получаете маржу слева для каждой ul

3

Вы пробовали это с! важно?

.postcomments { 
    margin: 15px !important; 
    padding: 15px !important; 
} 

я использую 15px, но вы можете использовать любое значение, работает для вас

+4

Не используйте '! Important' - вместо этого узнайте о специфике CSS - http://www.w3.org/TR/CSS2/cascade.html#specificity –

+0

@RichardJPLeGuen!важные работы для моего дела. Почему это не рекомендуется? Какие могут быть проблемы? Я строю свое приложение на кучке css и его трудно найти, где поразить и! Важно решить проблему за секунду. – CodeMonkey

+0

Мой комментарий слишком длинный, поэтому я спросил и ответил на вопрос: [Почему использование '! Important' обескуражено?] (Http://stackoverflow.com/questions/15582385/why-is-the-use-of- важно-обескуражен/15582386) –

0

Вы должны будете предоставить больше конкретики, то, что другие ответы содержат

попытаться поместить тег Infront из класс или родительский тег

div.postcomments { 
span.postcomments { 

или, если это не вариант, вы всегда можете прибегнуть к

* .postcomments { 
Смежные вопросы