我正在使用带有工具侧栏的Web应用程序。尽管内容是可变的,但该侧边栏必须具有固定的宽度。
我尝试使用flexbox,但是主框仅占用视口的高度,而不占用整个网站的内容。这是我做的:
https://jsfiddle.net/junihh/eup7m608/3/
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Holy Grail</title>
<style>
* {
margin: 0;
padding: 0;
border: 0;
vertical-align: baseline;
-webkit-tap-highlight-color: rgba(0,0,0,0);
list-style: none;
outline: 0;
}
html, body {
width: 100%;
height: 100%;
font: normal 18px/120% Helvetica,Arial,sans-serif;
}
article, aside {
padding: 0;
margin: 0;
border-radius: 0;
}
body {
display: flex;
flex-direction: column;
}
header, footer {
height: 100px;
}
.main {
display: flex;
flex-direction: row;
flex: 1;
}
article {
flex: 5;
background-color: #EEE;
}
aside {
background-color: #333;
flex: 1;
color: #CCC;
width: 360px;
}
.margin {
padding: 25px;
}
h1 {
margin-bottom: 25px;
font-size: 24px;
font-weight: bold;
}
p {
margin-bottom: 14px;
line-height: 140%;
}
</style>
</head>
<body>
<section class="main">
<aside>
<div class="margin">
<h1>Aside</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
</div>
</aside>
<article>
<div class="margin">
<h1>Article</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
</div>
</article>
</section>
</body>
</html>
我什至尝试使用侧边栏的固定位置,但无法满足我的需求。
有什么帮助吗?我需要类似Wordpress侧栏的东西。
答案 0 :(得分:1)
我修复了您的样式。您放错地方的是display: flex
和<body>
,这阻止了它随着内容的增长而发展。
基本上我所做的就是删除这些行:
body {
display: flex;
flex-direction: column;
}
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Holy Grail</title>
<style>
* {
margin: 0;
padding: 0;
border: 0;
vertical-align: baseline;
-webkit-tap-highlight-color: rgba(0,0,0,0);
list-style: none;
outline: 0;
}
html, body {
width: 100%;
height: 100%;
font: normal 18px/120% Helvetica,Arial,sans-serif;
}
article, aside {
padding: 0;
margin: 0;
border-radius: 0;
}
header, footer {
height: 100px;
}
.main {
display: flex;
flex-direction: row;
flex: 1;
align-self: stretch;
min-height: 100%;
}
article {
flex: 5;
background-color: #EEE;
}
aside {
background-color: #333;
flex: 1;
color: #CCC;
width: 360px;
}
.margin {
padding: 25px;
}
h1 {
margin-bottom: 25px;
font-size: 24px;
font-weight: bold;
}
p {
margin-bottom: 14px;
line-height: 140%;
}
</style>
</head>
<body>
<section class="main">
<aside>
<div class="margin">
<h1>Aside</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
</div>
</aside>
<article>
<div class="margin">
<h1>Article</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit vero consequuntur natus ullam
minus ipsum reiciendis error voluptas deserunt hic quae amet, similique repudiandae rerum nesciunt a
aperiam doloribus! Rem quae, fugit quibusdam saepe!</p>
</div>
</article>
</section>
</body>
</html>