Поля html-элемента по умолчанию для заполнения ширины содержащего div, не может переопределить - PullRequest
2 голосов
/ 23 декабря 2010

Я довольно начинающий веб-разработчик, и у меня есть очень фундаментальная проблема, с которой я действительно буду признателен за помощь:

Независимо от того, какую ширину я устанавливаю для каких-либо элементов внутри определенного div, safariи Chrome оба добавляют дополнительные поля, которые заполняют ширину div.Если я укажу, что они имеют 0 полей, CSS будет переопределен.Например, у меня есть следующее

<div class="container">
    <div class="element1">
    ...
    </div>
</div>

, и я установил это как css:

.container{
    background-color:#ffffff;
    margin-left:7.5%;
    margin-right:7.5%;
    padding:30px;
    color:#505050;
    line-height:1.5;
    font-size:14px;
}

.element1{
    max-width:50%;
    margin: 0px 0px 0px 0px;
}

element1 имеет ширину 50% содержащего элемента, но затем он имеетдополнительное поле справа, которое заполняет остальную часть ширины содержащего элемента.Почему это происходит, и как мне установить это правое поле на 0?

Спасибо!

Ответы [ 2 ]

1 голос
/ 23 декабря 2010

Мне кажется, что вы не понимаете концепцию элементов уровня блока.

"По умолчанию элементы уровня блока форматируются иначе, чем встроенные элементы. Как правило, элементы уровня блока начинаются с новогостроки, встроенные элементы - нет. Информацию о пробелах, разрывах строк и форматировании блоков см. в разделе о тексте. "

http://www.w3.org/TR/html4/struct/global.html#h-7.5.3

1 голос
/ 23 декабря 2010

Попробуйте добавить таблицу стилей сброса перед таблицей стилей, чтобы нормализовать работу всех браузеров.Браузеры имеют свои собственные представления о отступах по умолчанию, полях и т. Д. Для различных элементов.Сбрасывая таблицу стилей, вы запускаете каждый браузер с одной и той же позиции.

http://meyerweb.com/eric/tools/css/reset/

...