html - Internet Explorer 11 不显示任何正在使用显示 : table method 的链接

标签 html css internet-explorer

我网站的中间栏有 4 个使用显示的链接:表格方法在 Internet Explorer 11 中根本不显示。它们显示在我测试过的所有其他浏览器中。

关于如何显示这些有什么想法吗?

它应该是这样的:

enter image description here

CodePen Demo

HTML:

    <title>Runna - Track your run!</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0 user-scalable=no">
    <link rel="stylesheet" type="text/css" href="css/reset.css">
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <link href='http://fonts.googleapis.com/css?family=Lato:400,700,900' rel='stylesheet' type='text/css'>
    <link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="js/js.js"></script>
    <script src="js/modernizr.js"></script>
</head>
<body>
<div class="wrapper">

    <header>
        <img src="imgs/logo-blue.png" />
    </header>
    <div id="map-container">
       <iframe src="https://www.google.com/maps/embed?pb=!1m14!1m12!1m3!1d11564.804405086046!2d172.59430635!3d-43.56069255!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!5e0!3m2!1sen!2snz!4v1418977732755" frameborder="0" style="border:0"></iframe>
    </div>
    <div class="show-controls"><i class="fa fa-chevron-up"></i></div>
    <section id="control-container">
        <div class="column left">

                 <div id="left-wrapper">
                    <div class="left-top">
                       <ul>
                          <li><b>Distance</b></li>
                          <li>17.7KM</li>
                       </ul>
                    </div>

                    <div class="left-bottom">
                        <ul>
                          <li><b>Duration</b></li>
                          <li>14.55Mins</li>
                       </ul>
                    </div>
                 </div>

        </div>
        <div class="column middle">
            <nav>
                <ul>
                  <li><a href="#" class="arrow"><div><i class="fa fa-chevron-down"></i></div></a>
                      <a href="#"><div>START</div></a>
                      <a href="#"><div>STOP</div></a>
                      <a href="#"><div>PAUSE</div></a>

                    </li>
                </ul>
            </nav>
        </div>
        <div class="column right"></div>
    </section>

</div>
</body>
</html>

CSS:

* {
    margin: 0;
    padding: 0;
    font: 100% arial;
    overflow: hidden;
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;    /* Firefox, other Gecko */
  box-sizing: border-box;         /* Opera/IE 8+ */ 
}

#wrapper {
   height: 100vh;
}

.show-controls {
   width: 100%;
   height: 8vh;
   background: black;
   text-align: center;
   color: white;
   position: relative;
   display: none; /*Initially hidden, will use jQuery to reveal when needed*/
}

.fa-chevron-up {
   position: absolute;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-50%, -50%);
           transform: translate(-50%, -50%);
}

#map-container {
   height: 65vh;
}

.show-controls:hover {
   background: green;
}
.column.middle ul, .column.middle nav, .column.middle li {
    height: 100%;
}

.column.middle {
    position: relative;
}
.column.middle nav {
    position: absolute;
    top: 0px;
    left:0px;
    right: 0px;
    bottom: 0px;
}

.column.middle li {
    display: table;
    width: 100%;
}
.column.middle li a {
    display: table-row;
    width: 100%;
}
.column.middle li a div {
    display: table-cell;
    vertical-align: middle;
}

    header {
     width: 100%;
     height: 5vh;
     background: black;
     position: relative;


    }
    header img {
      height: 80%;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
    }
    iframe {
        width: 100%;
        height: 100%;
        display: block;
    }
    #control-container {
        width: 100%;
        height: 30vh;
        background: black;
        display: table;
    }
    .column {
        display: table-cell;
        color: white;
        width: 100%;
        text-align: center;
    }
    .row {
        display: block;
        width: 100%;
    }
    .left {
        background: #0f0f0f;
        width: 33.3%;
        height: 100%;
        position: relative;
    }
    .middle {
        background: black;
        width: 33.3%;
        height: 100%;
    }
    .right {
        background: #0f0f0f;
        width: 33.3%;
        height: 100%;
    }
    nav ul {
        height: 100%;
        margin: 0;
        padding: 0;
    }
    nav li {
        display: block;
    }
    nav a {
        color: white;
        text-decoration: none;
        text-align: center;
        width: 100%;
        padding: 30px;
    }
    nav a:hover {
        background: green;
    }

#left-wrapper {
   height: 100%;
}

.left-top, .left-bottom {
   height: 50%;
   position: relative;
    text-align: center;
}

.left-top ul, .left-bottom ul {
   position: absolute;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-50%, -50%);
           transform: translate(-50%, -50%);
   list-style: none;
}

最佳答案

这里的问题似乎是绝对定位的 nav 元素直接位于 div.column 元素中,带有 display: table-cell。绝对定位元素导致宿主 table-cell 的高度为 0px。切换 overflow 属性显示内容在那里。

要解决 Internet Explorer 11 中的此问题,请应用以下更改:

  • vertical-align: top 添加到您的 div.column.middle 元素。
  • nav 元素中删除 position: absolute(和 TRBL 属性)。

这似乎可以解决 Internet Explorer 11 中的问题。

关于html - Internet Explorer 11 不显示任何正在使用显示 : table method 的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27635577/

相关文章:

javascript - 如何调用多个弹出窗口?

css - 在 HTML5 中,我应该使用文章或章节标签来制作标签吗?

javascript - JS 切换(显示)文本最简单的方法

css - 当我将 div 的 css 位置设置为绝对位置时,背景图像消失 - 有帮助吗?

javascript - 在 IE 中解析非常大的 JSON 字符串导致问题

html - 音频标签后面的HTML元素未显示

php - 如何在php值下方添加下划线

css - Windows 中锯齿状的谷歌字体和粗体外来字符

javascript - 悬停在jQuery中的第156行时出现奇怪的错误

html - 如何在html5 canvas上绘制圆柱体