2013-09-07 3 views
0

У меня странная проблема с объявлением doctype. Я хочу, чтобы мой нижний колонтитул придерживался нижней части страницы. Его не происходит, когда я объявляю doctype. Когда я удаляю doctype, нижний колонтитул подходит к основанию.Doctype и позиционирование CSS

код -

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<link rel="stylesheet" href="styles.css"/> 
</head> 
<body> 
<div id="wrapper"> 
    <div id="header"> 

    </div> 
    <div id="content"> 

    </div> 
    <div id="footer"> 

    </div> 

</div> 
</body> 
</html> 

CSS -

#wrapper{ 
border: 1px solid black; 
position: relative; 
min-height:100%; 
} 

#header{ 
height: 100px; 
background: green;    
} 

#content{ 
height: 100px; 
background: red; 
width: 400px; 
margin:0 auto;  
} 

#footer{ 
height: 50px; 
background: blue; 
position: absolute; 
bottom: 0; 
left:0; 
right:0; 
} 

Любая идея, как это исправить?

+0

http://stackoverflow.com/questions/3396681/why-does-adding-a-doctype-affect-my-css?rq=1 –

+0

Если вы используете XHTML, используйте атрибуты xml: lang и xmlns для своего html-тег. также закройте метатег с помощью />, также закройте тег html с помощью. Также сначала проверьте свой код. Также укажите, в каком браузере вы его тестируете. Также возможно сделать jsfiddle. Также 2 бок о бок, чтобы показать разницу. – Jawad

+1

Я считаю, что doctype, вероятно, говорит браузеру включить таблицу стилей пользователя-пользователя по умолчанию, которая добавляет свойство margin к тегу ''. Попробуйте добавить 'margin: 0;' в тело. – BigMacAttack

ответ

0

XHTML переходный DOCTYPE не вызывает режим причуды в веб-браузерах, но вы забыли добавить пространство имен XHTML, который http://www.w3.org/1999/xhtml. Поступая таким образом, браузеры интерпретируют ваш документ так, как если бы он был написан в унаследованной разметке. Пространство имен в неаудирующих пользовательских агентах является единственным способом распознавания элементов и назначения их стилей по умолчанию. Если вы создаете XML-документ и используете пространство имен XHTML вместе с элементом XHTML, смешанным с пользовательскими элементами, вы увидите, что только элементы, принадлежащие данному пространству имен XHTML, получают стили по умолчанию из таблицы стилей браузера по умолчанию.

+0

Объявление пространства имен не имеет никакого эффекта, когда документ служит как text/html –

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