html - 视口(viewport)高度 100% 不适用于页面元素

标签 html css viewport

我不知道为什么我的边框停在页面底部之前。 我尝试了很多事情:清除 float 、100%、jQuery、vh、vmax + 我已经从 stackoverflow 阅读了其他问题,但它总是在底部之前停止。

我有两个 div section.leftsection.middle。我试图在 section.left div 上设置一个 8 px 边框,使其从页面顶部到底部。但如果页面变长,它就会停止。

参见 demo

HTML

<div class="wrapper">
    <section class="left">
        <header>
            <a class="logo" href="#"><img src="images/smallImage1.jpg" alt="Logo"></a>
        </header>
        <div class="intro">
            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed posuere interdum sem. Quisque ligula eros ullamcorper quis,</p>
            <a class="contact" href="#">Contact</a>
        </div>
        <div class="skills">
            <h6>Skills</h6>
            <ul>
                <li>Skill 1</li>
                <li>Skill 2</li>
            </ul>
        </div>
        <footer>
            <p>2016 - Site 1</p>
        </footer>
    </section>
    <section class="midle">
        <div class="post">
                <h2>Headline</h2>
                <img src="images/bigImage1.jpg" alt="Big image">
                <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed posuere interdum sem. Quisque ligula eros ullamcorper quis, lacinia quis facilisis sed sapien. Mauris varius diam vitae arcu. Sed arcu lectus auctor vitae,</p>
                <img src="images/bigImage2.jpg" alt="Big image">
                <img src="images/smallImage1.jpg" alt="Small image">
                <img src="images/bigImage1.jpg" alt="Big image">
                <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed posuere interdum sem. Quisque ligula eros ullamcorper quis, lacinia quis facilisis sed sapien. Mauris varius diam vitae arcu. Sed arcu lectus auctor vitae,</p>
                <img src="images/bigImage2.jpg" alt="Big image">
        </div>
    </section>
</div> <!-- END OF WRAPPER -->

CSS

html, body{
    height: auto;
    width: 100%;
    display: block;
    background-color: #F8F8F8;
    margin: 0;
    padding: 0;
}

* {
  box-sizing: border-box;
}

img{
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
}

.wrapper{
    margin: 0 auto;
    width: 100%;
    height: auto;
    max-width: 1700px;
    padding: 0;
    overflow: hidden;
}

/*---------------- END OF BASE ------------------------*/

section{
    float: left;
    margin: 0;
    padding: 0;
    position: relative;
}

/*---------------- SECTION LEFT ------------------------*/

section.left{
    width: 20%;
    padding: 4% 2%;
    height: 100vmax;
    text-align: center;
    border-right: 8px solid #60689D;
}

/*---------------- SECTION MIDLE ------------------------*/

section.midle{
    width: 80%;
    height: auto;
    display: block;
    overflow: hidden;
}

最佳答案

试试这个:

  • section.left 中移除 height: 100vmax
  • display: flex添加到.wrapper

Revised Codepen


解释:

根据 CSS Flexbox 规则,子元素(也称为 flex 元素)将自动拉伸(stretch) cross-axis 的全长 flex 容器。 (这就是为什么 flexbox 非常适合等高列。)但是,flex 元素上的 height 规则将覆盖此默认设置。所以我们删除了该规则。


要了解有关 flexbox 的更多信息,请访问:


浏览器支持:

所有主流浏览器都支持 Flexbox,except IE 8 & 9 .一些最新的浏览器版本,例如 Safari 8 和 IE10,需要 vendor prefixes .要快速添加所需的所有前缀,请在此处的左侧面板中发布您的 CSS:Autoprefixer .更多详细信息,请参阅 this answer .

关于html - 视口(viewport)高度 100% 不适用于页面元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35241078/

相关文章:

javascript - 过渡保持结构上的光滑 slider

jquery - 有特定的按钮隐藏div

css - 子div的高度溢出父容器

html - 是否有一个(纯)CSS 运算符可以合并类声明?

html - 为什么 iPhone 将内容推送到视口(viewport)之外?

jquery - HTML5 Canvas 100% 视口(viewport)宽度高度?

javascript - 如何获取元素的 CSS(% vs px)

html - CSS 隐藏与具有绝对位置的 div 重叠的 div 的内容

javascript - 响应式网站上独立的桌面和移动 jQuery 功能

javascript - div 容器的宽度不同于 100%