2013-02-17 4 views
0

В CSS я никогда не понимал, почему это происходит, но всякий раз, когда я назначаю что-то margin-top:50%, элемент попадает в нижнюю часть страницы, почти полностью с стр. Я бы предположил, что с 50%, элемент будет на полпути вниз по странице.CSS Размер элемента определения размера размера до более указанного размера

Это также происходит с установкой атрибутов ширины и высоты элементов. Если я установил ширину div на 100%, правая часть div исчезнет с экрана просмотра, и мне нужно прокрутить ее, чтобы увидеть ее.

Почему это происходит и есть способ исправить это?

EDIT:

Вот мой CSS код. Я также использую bootstrap, но это проблема, которую я заметил вне бутстрапа.

html{ 
height:100%; 
min-height: 100%; 
min-width: 100%; 
} 
#button_container{ 
width:100%; 
clear:both; 
margin:0 auto; 
margin-top: 25%; 
} 

#donate_section, #contrib_section{ 
display:inline; 
} 
#contrib_section{ 
float:right; 
} 

котла пластина HTML разметка:

<body> 
    <div id="someid"> 
     <div> 
      <a></a> 
     </div> 
     <div> 
      <a></a> 
     </div> 
    </div> 
</body> 
+0

Чтобы избежать диких предположений, любые примеры вашего кода были бы полезны при поиске ответа. Май по заполнению, положению, таблицам ... – Nebril

+0

Да, я просто добавил код css. – barndog

ответ

1

Прочитайте это, а затем прочитать его еще раз: http://www.w3schools.com/css/css_boxmodel.asp

Ваш «ширина» установка настройка только раздел контента - Таким образом, общая ширина содержание + наценка + обивка + граница. Поэтому, если ширина = 50%, у вас действительно больше 55% или около того после этого (с нормальным, маленьким краем/дополнением/границей). Если вы хотите, чтобы ваш div извне занимал только 50%, вам нужно иметь бездокументный/margin/border div, который на 50% находится за его пределами, или любое количество других решений.

Возможно, вы также имеете дело с тем, что рендеринг браузера не идеален. Если вы хотите избежать прокрутки, вы вообще не должны использовать 100% ширины. (Это также хороший дизайн «Web 2.0», если вы следуете за этой школой - у вас должно иметь свободное пространство с обеих сторон с точки зрения удобства использования/удобочитаемости).

Редактировать: Также ваш% относительно ширина, а не высота. См. Например, CSS fluid layout: margin-top based on percentage grows when container width increases.

+0

Хорошо, это справедливо, если не использовать 100%. Но я чувствую, что, когда я говорю 50%, это должно быть 90%. Эта часть не совсем понятна. – barndog

+0

Извините, я имею в виду не должно быть 90%. Я установил положение исправленного и, похоже, исправил его. Когда я это делаю, div идет наполовину вниз по странице. Без фиксации позиции div удаляется в нижней части страницы. Все еще не знаю почему. – barndog

+0

Мое редактирование, вероятно, поэтому ...% относительно ширины, а не высоты, даже для «высоких» вещей, таких как верх/низ. – Joe

0

Ссылка часто является «относительной» к родительскому элементу. Если вы не говорите о первом ребенке тега тела.

+0

Да первый ребенок теги тела. Просто div, который содержит два divs, каждый из которых имеет ссылку внутри них. – barndog

Смежные вопросы