IE5进行布局,老是失败,修改DIV的宽度高度就是修改不了,而且input的宽度也修改不了。
在IE6里面,基本正常,但是CSS做的下拉菜单跑别地方去了怎么办?而且下拉菜单出不来。。
superfish.css里面的代码是二楼,大家可以试验下。
HTML code
<link rel="stylesheet" type="text/css" href="superfish.css" media="screen">
<ul class="sf-menu">
<li><a href="#a">menu item</a>
<ul>
<li><a href="#aa">menu item that is quite long</a></li>
<li><a href="#ab">menu item</a>
<ul>
<li><a href="#">menu item</a></li>
<li><a href="#aba">menu item</a></li>
<li><a href="#abb">menu item</a></li>
</ul>
</li>
<li><a href="#">menu item</a>
<ul>
<li><a href="#">menu item</a></li>
<li><a href="#">menu item</a></li>
</ul>
</li>
<li><a href="#">menu item</a>
<ul>
<li><a href="#">menu item</a></li>
<li><a href="#">menu item</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">menu item</a>
</li>
</ul>
CSS code
/*** ESSENTIAL STYLES ***/
.sf-menu, .sf-menu * {
margin: 0;
padding: 0;
list-style: none;
font-size:10pt;
font-weight:bold;
}
.sf-menu {
line-height: 1.0;
}
.sf-menu ul {
position: absolute;
top: -999em;
width: 10em; /* left offset of submenus need to match (see below) */
}
.sf-menu ul li {
width: 100%;
}
.sf-menu ul li a {
font-size:9pt;
font-weight:normal;
}
.sf-menu li:hover {
visibility: inherit; /* fixes IE7 'sticky bug' */
}
.sf-menu li {
float: left;
position: relative;
}
.sf-menu a {
display: block;
position: relative;
}
.sf-menu li:hover ul,
.sf-menu li.sfHover ul {
left: 0;
top: 2em; /* match top ul list item height */
z-index: 999;
}
ul.sf-menu li:hover li ul,
ul.sf-menu li.sfHover li ul {
top: -999em;
}
ul.sf-menu li li:hover ul,
ul.sf-menu li li.sfHover ul {
left: 10em; /* match ul width */
top: 0;
}
ul.sf-menu li li:hover li ul,
ul.sf-menu li li.sfHover li ul {
top: -999em;
}
ul.sf-menu li li li:hover ul,
ul.sf-menu li li li.sfHover ul {
left: 10em; /* match ul width */
top: 0;
}
/*** DEMO SKIN ***/
.sf-menu {
float: left;
margin-bottom: 0.5em;
}
.sf-menu a {
border-left: 1px solid #fff;
border-top: 1px solid #CFDEFF;
padding: .5em 1em;
text-decoration:none;
}
.sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/
color: #13a;
}
.sf-menu li {
background: #BDD2FF;
}
.sf-menu li li {
background: #AABDE6;
}
.sf-menu li li li {
background: #9AAEDB;
}
.sf-menu li:hover, .sf-menu li.sfHover,
.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
background: #CFDEFF;
outline: 0;
}
/*** arrows **/
.sf-menu a.sf-with-ul {
padding-right: 2.25em;
min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */
}
.sf-sub-indicator {
position: absolute;
display: block;
right: .75em;
top: 1.05em; /* IE6 only */
width: 10px;
height: 5px;
text-indent: -999em;
overflow: hidden;
background: url('../images/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
}
a > .sf-sub-indicator { /* give all except IE6 the correct values */
top: .8em;
background-position: 0 -100px; /* use translucent arrow for modern browsers*/
}
/* apply hovers to modern browsers */
a:focus > .sf-sub-indicator,
a:hover > .sf-sub-indicator,
a:active > .sf-sub-indicator,
li:hover > a > .sf-sub-indicator,
li.sfHover > a > .sf-sub-indicator {
background-position: -10px -100px; /* arrow hovers for modern browsers*/
}
/* point right for anchors in subs */
.sf-menu ul .sf-sub-indicator { background-position: -10px 0; }
.sf-menu ul a > .sf-sub-indicator { background-position: 0 0; }
/* apply hovers to modern browsers */
.sf-menu ul a:focus > .sf-sub-indicator,
.sf-menu ul a:hover > .sf-sub-indicator,
.sf-menu ul a:active > .sf-sub-indicator,
.sf-menu ul li:hover > a > .sf-sub-indicator,
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
background-position: -10px 0; /* arrow hovers for modern browsers*/
}
别在IE8里做。
IE5就不用测试了吧???
引用 3 楼 hero0524 的回复:
IE5就不用测试了吧???
只是好奇而已。现在唯一的想法就是把它的定位弄好。。
引用 4 楼 hsbhljl 的回复:
引用 3 楼 hero0524 的回复:
IE5就不用测试了吧???
只是好奇而已。现在唯一的想法就是把它的定位弄好。。
只是好奇而已。现在唯一的想法就是把它在IE6里的定位弄好。。
在FF测试了没?
兼容性的确是一个令人头大的问题。
1, ie6 只支持a:hover,所以 li:hover 在ie6没效果很正常
2, 同理 a:focus, > ,outline,等等 ie6 同样不支持
一般这种菜单,你可以参照
http://www.cssplay.co.uk/menus/drop_definition2.html
测试通过,只要在 <ul class="sf-menu">外面的DIV的style里加个width就没问题了(IE6),根本就不像楼上说的那样不支持。
在IE6,IE7,IE8,MF里面都没问题啦,哈哈哈
你使用了js解决的ie6,而不是ie6本身支持