IE的高度/宽度与Firefox不同

时间:2011-01-25 17:49:50

标签: css internet-explorer html

我在IE中遇到div高度和宽度的问题。

在我的网页http://www.ricominciodame.it/eventi.php上,有一些带有黑板风格的div 在Firefox中,它们都可以正常工作,但在IE(7和8)中,宽度较低,背景也会减少。

以下是我的CSS:

div.evento {
    background : white url("images/sfondo_evento.png") top no-repeat;
    width : 260px;
    height : 207px;
    margin:5px;
    margin-left:0px;
    margin-bottom : 20px;
    padding-left : 20px;
    padding-right : 20px;
    padding-top : 20px;
    padding-bottom : 20px;
    color : white;
}

如何解决此问题?

4 个答案:

答案 0 :(得分:7)

您的网页正在由DOCTYPE引起的quirks mode运行。您必须使用其中任何http://www.w3.org/QA/2002/04/valid-dtd-list.html

此外,最好始终从w3 validator验证您的网站。

答案 1 :(得分:6)

您的doctype是否设置为将浏览器置于标准模式?例如:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd">

答案 2 :(得分:1)

在设计新页面之前,我总是'重置'css。 我加载我的CSS文件(注意我首先加载重置,然后是实际的布局):

<link rel="stylesheet" href="css-styles/reset.css" />
<link rel="stylesheet" href="css-styles/all.css" />

我的重置CSS如下所示:

/* CSS Document */

/* Clear all styles */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;}

/* remember to define focus styles! */
:focus {
    outline: 0;}

body {
    line-height: 1;
    color: black;
    background: white;}

ol, ul {
    list-style: none;}

/* tables still need 'cellspacing="0"' in the markup */
table{
    border-collapse: separate;
    border-spacing: 0;}

caption, th, td {
    text-align: left;
    font-weight: normal;}

blockquote:before, blockquote:after,
q:before, q:after {
    content: "";}

blockquote, q {
    quotes: "" "";}
/*Ceal all styles END */

答案 3 :(得分:0)

可能是一个盒子模型问题:http://css-tricks.com/the-css-box-model/

我会做这样的事情:

div.evento {
    background : white url("images/sfondo_evento.png") top no-repeat;
    width : 300px;
    height : 207px;
    margin:5px;
    margin-left:0px;
    margin-bottom : 20px;
    color : white;
}
div.evento-inner {
    padding-left : 20px;
    padding-right : 20px;
    padding-top : 20px;
    padding-bottom : 20px;
}

在IE中,填充在你声明的260px宽度的每一边占用20px。