gpt4 book ai didi

css - HTML/CSS : IE8 padding/background-position problems

转载 作者:行者123 更新时间:2023-11-28 14:02:59 25 4
gpt4 key购买 nike

要查看问题页面的实时 View ,请访问此处:http://rcnhca.org.uk/sites/first_steps/health-safety-and-security/

问题 1: 如果您转到该链接并滚动下拉导航,它是子项,您会注意到我在 上的每个 li 上设置了一个星形背景图像动画鼠标输入。然而,当你第一次在 IE8 中滚动它时,它会从 li 的中间开始动画,即使我指定了 background-position: -25px 50%;,奇怪的是一旦 jquery 内联应用相同的设置,它就会开始按预期工作。

问题 2: 如下图所示,IE8 (这在 IE7 中正常工作) 错误地呈现了我的填充。我已经使用 * {margin: 0; 重置了所有边距和填充填充:0;core.css :

padding error

这个导航栏的 HTML 标记是:

<header class="one">
<nav class="container_16 clearfix" id="breadcrumbs">
<a href="http://rcnhca.org.uk/sites/first_steps" id="home"></a>
<ul id="parent">
<li>
<a href="http://rcnhca.org.uk/sites/first_steps/communication/">Communication</a>
<ul class="child">
<li><a href="http://rcnhca.org.uk/sites/first_steps/getting-started/">Getting started</a></li>
<li><a href="http://rcnhca.org.uk/sites/first_steps/health-safety-and-security/">Health, Safety and Security</a></li>
<li><a href="http://rcnhca.org.uk/sites/first_steps/personal-and-people-development/">Personal and people development </a></li>
<li><a href="http://rcnhca.org.uk/sites/first_steps/quality/">Quality</a></li>
<li><a href="http://rcnhca.org.uk/sites/first_steps/equality-diversity-and-rights/">Equality, diversity and rights </a></li>
<li><a href="http://rcnhca.org.uk/sites/first_steps/clinical-skills/">Clinical skills</a></li>
<li><a href="http://rcnhca.org.uk/sites/first_steps/additional-material/">Additional material</a></li>
</ul>
</li>
<li>
<a href="#">Select a topic</a>
<ul class="child">
<li><a href="http://rcnhca.org.uk/sites/first_steps/communication/why-communication-is-important/">Why communication is important</a></li>
<li><a href="http://rcnhca.org.uk/sites/first_steps/communication/communication-methods/">Communication methods</a></li>
<li><a href="http://rcnhca.org.uk/sites/first_steps/communication/written-communication/">Barriers to communication</a></li>
</ul>
</li>
</ul>
</nav>
</header>

以及要启动的 CSS:

header {
width: 100%;
}

header.one {
height: 50px;
background: #44a9c4;
}

header.two {
height: 45px;
background: #3393b5;
}


/* =============================================================================
Breadcrumb navigation
========================================================================== */

#breadcrumbs {
padding: 0 3px 3px 0;
background: #ffffff;
border: 0px solid;
border-left: #3a90a7 2px solid;
border-right: #3a90a7 2px solid;
border-bottom: #3a90a7 2px solid;
-webkit-border-bottom-left-radius: 5px;
-webkit-border-bottom-right-radius: 5px;
-moz-border-radius-bottomleft: 5px;
-moz-border-radius-bottomright: 5px;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}

#breadcrumbs #home{
display: block;
height: 39px;
width: 55px;
float: left;
background-image: url(library/images/home_icon.png);
background-repeat: no-repeat;
background-position: center;
text-indent: -999em;
}

#breadcrumbs ul#parent {
height: 39px;
width: 905px;
float: right;
position: relative;
background: #f38630;
border: 0px solid;
-webkit-box-shadow: inset 0px -2px 0px 0px #cf7229;
-moz-box-shadow: inset 0px -2px 0px 0px #cf7229;
box-shadow: inset 0px -2px 0px 0px #cf7229;
-webkit-border-bottom-left-radius: 5px;
-webkit-border-bottom-right-radius: 5px;
-moz-border-radius-bottomleft: 5px;
-moz-border-radius-bottomright: 5px;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}

#breadcrumbs ul#parent li {
position: relative;
height: 39px;
float: left;
min-width: 1px; /* required to fix Opera bug */
padding: 0 47px 0 15px;
background-image: url(library/images/breadcrumb_seperator.png);
background-repeat: no-repeat;
background-position: right;
line-height: 39px;
}

#breadcrumbs ul#parent li a {
display: block;
height: 42px;
font-size: 0.938em;
font-weight:900;
letter-spacing: 0.01em;
color: #ffffff;
text-decoration: none;
text-shadow: 0px 2px 0px #cf7229;
}

#breadcrumbs ul li a:visited {
color: #ffffff;
}
#breadcrumbs ul#parent li:first-child ul {
left: -5px;
}
#breadcrumbs ul#parent li ul {
position: absolute;
z-index: 1;
left: -28px;
top: 42px;
background: #ffffff;
border-left: #3a90a7 2px solid;
border-right: #3a90a7 2px solid;
border-bottom: #3a90a7 2px solid;
-webkit-border-bottom-left-radius: 5px;
-webkit-border-bottom-right-radius: 5px;
-moz-border-radius-bottomleft: 5px;
-moz-border-radius-bottomright: 5px;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}

.js #breadcrumbs ul#parent li ul {
display:none;
}

.no-js #breadcrumbs ul#parent li ul {
left: -999em;
}

#breadcrumbs ul#parent li ul li {
float: none;
height: 26px;
margin: 0 3px 3px 3px;
padding: 0 15px;
background-image: url(library/images/star-icon.png);
background-position: -25px center;
background-repeat: no-repeat;
background-color: #738793;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
line-height: 26px;
white-space: nowrap;
}

#breadcrumbs ul#parent li ul li a{
color: #ffffff;
text-decoration: none;
text-shadow: none;
letter-spacing: 0.01em;
font-weight: 100;
}

#breadcrumbs ul#parent li ul li:hover{
background-color: #3393b5;
}

.no-js #breadcrumbs ul#parent li ul li:hover{
background-position: 6px center;
text-indent: 10px;
}

#breadcrumbs ul#parent li:hover ul {
z-index: 2;
}

.no-js #breadcrumbs ul#parent li:hover ul {
left: -5px;
}

我花了很长时间试图调试这个问题,但无法弄清楚为什么会这样,如果有人能对这个问题有所了解那就太好了。 (注意:我使用 HTML5SHIV 在旧版浏览器中呈现 HTML5 元素)

最佳答案

我不知道这个错误是什么或者为什么 IE8 会这样,但我设法通过从 #homeul# 中删除 float 来解决边距问题parent 并相对于 #breadcrumbs 绝对定位它们并为其指定一个明确的高度,如下所示:

#breadcrumbs {
height: 39px;
padding: 0 3px 3px 0;
background: #ffffff;
position: relative;
border: 0px solid;
border-left: #3a90a7 2px solid;
border-right: #3a90a7 2px solid;
border-bottom: #3a90a7 2px solid;
-webkit-border-bottom-left-radius: 5px;
-webkit-border-bottom-right-radius: 5px;
-moz-border-radius-bottomleft: 5px;
-moz-border-radius-bottomright: 5px;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}

#breadcrumbs #home{
display: block;
position: absolute;
top: 0px;
left: 0px;
height: 39px;
width: 55px;
float: left;
background-image: url(library/images/home_icon.png);
background-repeat: no-repeat;
background-position: center;
text-indent: -999em;
}

#breadcrumbs ul#parent {
height: 39px;
width: 885px;
position: absolute;
right: 3px;
top: 0px;
background: #f38630;
margin: 0px;
-webkit-box-shadow: inset 0px -2px 0px 0px #cf7229;
-moz-box-shadow: inset 0px -2px 0px 0px #cf7229;
box-shadow: inset 0px -2px 0px 0px #cf7229;
-webkit-border-bottom-left-radius: 5px;
-webkit-border-bottom-right-radius: 5px;
-moz-border-radius-bottomleft: 5px;
-moz-border-radius-bottomright: 5px;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}

对于背景图片的问题,我制作了一个 jquery 函数,在元素加载后将背景位置添加到内联元素中。

关于css - HTML/CSS : IE8 padding/background-position problems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10172995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com