CSS导航菜单在IE8中无法正常旋转

时间:2013-05-22 23:52:22

标签: javascript css internet-explorer

我已经获得了一个带有90度旋转菜单的设计,并带有下拉菜单。当然,除了IE8之外,我在每个浏览器中都能使用它(我们不会针对任何更低的优化进行优化)。

这是暂存网站:http://williamsandports.com/wp/

#navbar元素本身使用

旋转正常
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);

使用精彩的内置IE“开发人员工具”我发现ul最外面的#menu-main-menu仍未旋转并悬挂在屏幕顶部,因此下拉元素不是能够正确地进行互动。

建议有人吗?我将采取任何修复,css,js,无论如何完成这个,当然除了静态图像:)你可以在FF或Chrome中查看相同的网站,看看完成的解决方案应该是什么样的。

1 个答案:

答案 0 :(得分:0)

你不能在IE8中使用transform。您可以找到更多信息:http://caniuse.com/#search=transform。 如果您想要旋转,例如您的网站。您可以为IE8使用静态图像和css sprites。这是演示,我修复了IE 8解决方案旋转。

HTML

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Solution rotate in IE8</title>
    <link rel="stylesheet" href="css/stylesheet.css">
    <!--[if gte IE 9]>
        <link rel="stylesheet" type="text/css" href="css/ie.css" />
    <![endif]-->
</head>
<body>
    <div class="container">
        <div class="nav-bar">
            <ul class="navigation">
                <li><a href="#" class="home">Home</a></li>
                <li><a href="#" class="about">About Us</a></li>
                <li><a href="#" class="portfolio">Portfolio</a></li>
                <li><a href="#" class="process">Our Process</a></li>
                <li><a href="#" class="client">Client List</a></li>
                <li><a href="#" class="consultation">Consultation</a></li>
                <li><a href="#" class="contact">Contact Us</a></li>
            </ul>
        </div>
    </div>
</body>
</html>

CSS

- stylesheet.css:使用-webkit-transform:ratate(90deg)

*,
*:before,
*:after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.container {
  width: 900px;
  margin-left: auto;
  margin-right: auto; }

.nav-bar {
  width: 100%;
  position: relative; }
  .nav-bar:before, .nav-bar:after {
    content: "";
    display: table; }
  .nav-bar:after {
    clear: both; }
  .nav-bar {
    *zoom: 1; }

.navigation {
  background-color: #f2f2f2;
  padding: 10px;
  width: 100%;
  position: absolute;
  left: 40px;
  top: 0;
  -webkit-transform: rotate(90deg);
  -webkit-transform-origin: 0 0; }
  .navigation li {
    display: inline-block; }
  .navigation a {
    color: #825a13;
    font-weight: 700;
    padding: 10px;
    text-decoration: none;
    text-transform: uppercase; }

- ie.css:使用IE8时修复(使用图像和css sprites)

.navigation {
  background-color: transparent;
  width: 40px; }
  .navigation li {
    display: block;
    float: left; }
  .navigation a {
    background: url(../img/nav.png) no-repeat;
    display: block;
    text-indent: -9999px;
    width: 40px;
    height: 118px; }
    .navigation a.home {
      background-position: 0 0;
      height: 75px; }
    .navigation a.about {
      background-position: 0 -86px;
      height: 90px; }
    .navigation a.portfolio {
      background-position: 0 -187px;
      height: 101px; }
    .navigation a.process {
      background-position: 0 -299px; }
    .navigation a.client {
      background-position: 0 -435px; }
    .navigation a.consultation {
      background-position: 0 -571px; }
    .navigation a.contact {
      background-position: 0 -706px; }

图片:

Image Navigation

我在IE8中测试工作正常。也许这不是最佳解决方案,但我希望它可以帮助您在您的网站中使用。