html - 布局在不同的浏览器中呈现不佳

标签 html css layout cross-browser positioning

我正在为网站制作布局。无论如何,它仍在开发中,它在 Google Chrome 和 Opera 上显示得足够好,但在 Firefox 和 Internet Explorer 上显示效果不够好。在 Chrome 中它看起来不错,但也许定位没有正确完成。你能帮我修一下吗?

HTML 正文

<div id="wrapper">
<header id="top-header">
<div id="logo1">
scritta
<img src="CS-G-100.png" class="logo" />
</div>
<nav id="top-nav">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Pulsante2</a></li>
<li><a href="#">Pulsante3</a></li>
<li><a href="#">Pulsante4</a></li>
<li><a href="#">Pulsante5</a></li>
</ul>
</nav>
<div id="kenburns" class="slideshow">
    <img src="images/1.jpg" alt="1">
</div>
</header>
<section id="main-section">
<aside id="left">
</aside>
<article id="main-content">
</article>
<aside id="right">
</aside>
<footer id="the-footer">
<div id="center-footer">
Centro fisioterapico San Giusto Via Romana Est 78/2 Porcari p. iva : 01532540463
</div>
</footer>
</section>
</div>

CSS

body {

width:100%;
margin:18px 20px 20px 20px;
display: box;                     /* As specified */
display: -moz-box;                /* Mozilla */
display: -webkit-box;             /* WebKit */
box-pack: center;                  /* As specified */
-moz-box-pack: center;             /* Mozilla */
-webkit-box-pack: center;          /* WebKit */
background-attachment: fixed;
background-image: url(sfondo-6.png);
background-repeat: repeat;
}

#wrapper {
border: 1px solid black;
width:1024px;
height:768px;
padding: 20px;
background: rgb(238,238,238); /* Old browsers */
background: -moz-linear-gradient(-45deg, rgba(238,238,238,1) 0%, rgba(238,238,238,1)  100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, right bottom, color- stop(0%,rgba(238,238,238,1)), color-stop(100%,rgba(238,238,238,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(-45deg, rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(-45deg, rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(-45deg, rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%); /* IE10+ */
background: linear-gradient(135deg, rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%); /* W3C */

}
#top-header {
position:absolute;
width:1022px;
height:234px;
display:block;
border:1px solid black; 
z-index:1;
background-color:#d2e5e3;
}

#top-nav {
position:relative;
width:700px;
display:block;
border:1px solid black;
top:-119px;
right:-321px;
z-index:2;
background-color:#d2e4e8;
}

#top-nav li {
display: inline;
/* Align children to the horizontal center of this box */
box-align: center;              /* As specified */
-moz-box-align: center;         /* Mozilla */
-webkit-box-align: center;      /* WebKit */
list-style:none;
text-align:center;
width:120px;
height:25px;
background:#5DBCD2;
opacity:0.7;
border-radius:10px;
-moz-border-radius:10px;
-o-border-radius:10px;
transition:transform 2s, opacity 2s, background 2s;
-webkit-transition::transform 2s, opacity 2s, background 2s;
-moz-transition:transform 2s, opacity 2s, background 2s;
-o--transform 2s, opacity 2s, background 2s;
}

#top-nav-li:hover {
transform-rotate:(360deg);
-webkit-transform:(360deg);
-moz-transform:rotate(360deg);
opacity:1px;
background:#0F3;
}

#top-nav li {
display:inline-block;   
}

#left-nav {
position:absolute;
border:1px solid black;
padding:0px;
left:0px;
top:0px;
z-index:2;
text-decoration:none;


}

#left-nav ul {
position:relative;
left:0px;
display:block;  
}

#left-nav li {
margin:0px opx 10px 0px;
display:block;
position:relative;
border-radius:0px 10px 0px 10px;
-webkit-border-radius:0px 10px 0px 10px;
-o-border-radius:0px 10px 0px 10px;
-moz-border-radius:0px 10px 0px 10px;
-ms-border-radius:0px 10px 0px 10px;
background-color:#9ED09D;
transition:opacity 2s;
-moz-transition:opacity 2s;
-o-transition:opacity 2s;
-webkit-transition:opacity 2s;
}

#left-nav li:hover {
opacity:1;  
}


#left {
position:relative;
float:left;
border: 1px solid black;
padding: 20px;
width:256px;
height:620px;

}

#right {
float:left;
border: 1px solid black;
padding:20px;
width:256px;
height:620px;
}


#main-content {
float:left;
border: 1px solid black;
padding:20px;
width:386px;
height:620px;
}

#the-footer {
display:table;
clear:both;
width:100%;
height:50px;
border:1px solid black;
}

#rollover {
position:relative;
top:-112px;
left:490px;
border:1px solid black;
width:500px;
height:200px;
background-color:#FFFFFF;

}

#logo1{
position:relative;
top:47px;
left:20px;
}

.logo {

}

.center-text {
vertical-align:middle;
text-align:center;  
}

#center-footer {
display:table-cell;
vertical-align:middle;
text-align:center;
margin:0px auto;
}

这是它在 Google Chrome 上的显示方式的屏幕截图:(3 的最佳呈现) Google Chrome

这是它在 Firefox 上的显示截图: enter image description here enter image description here

这是它在 Internet Explorer 上的显示方式的屏幕截图:(比 Firefox 更好,但不像 Google Chrome 那样居中)

enter image description here

我给你 jfiddle:

代码如下:

http://jsfiddle.net/Gwpbk/

这里是全屏 View :

http://jsfiddle.net/Gwpbk/embedded/result/

提前谢谢你。

最佳答案

您可能需要对 CSS 进行一些调整。但我认为只针对这个确切的问题给你一个解决方案不是一个好主意,因为你会一次又一次地面对类似的问题。可能比您预期的要早。

CSS 是一门复杂的学科。当您尝试学习它时,我建议您使用 CSS Reset。

所有浏览器都有默认的 CSS 样式来呈现不同的 html 元素,并且这些规则在不同的浏览器之间通常是不同的。

CSS Reset 是一组 CSS 规则,旨在尽量减少浏览器之间的差异,从而在您添加自己的 CSS 时带来更相似的体验。我建议你检查Normalize.css .看看Html5Boilerplate.com也想造成任何伤害。

关于html - 布局在不同的浏览器中呈现不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14048019/

相关文章:

javascript - 如何访问未附加到 URL 的散列?

css - 如何在显示菜单时在页面的其余部分产生 "Overlay"效果?

html - 居中 div 到屏幕,但在同一行中有另一个 div

java - 将多个 JPanel 添加到 JFrame

java - 消息传递应用程序 Android XML 的布局问题

html - Select 元素的增长与 display flex 中的 input 不同

javascript - 是否可以在 HTML 文件中创建一个可以在同一 HTML 文件中编辑的 Javascript 对象?

javascript - 设置按钮以记住用户选择的页面

css - 高级后处理 CSS : group "media query" and "equal rules", 删除 "unused properties"

Javascript-JQuery : sliding menu going left-to-right?