如何让元素与 parent 元素的外边缘对齐
How to get element to line up to outer edge of parent element
我在保持导航的右边缘与 header 的外边缘对齐时遇到问题。有什么简单的方法可以解决这个问题,这样无论浏览器大小如何,它们都可以排列。
我的HTML在下面。
<!DOCTYPE html>
<html>
<head>
<title>Webpage Layout</title>
<style>
* {padding: 0px;}
html {
width: 970px;
margin: auto;
}
header, footer {
width: 100%;
text-align: center;
height: 10%;
margin: 5px;
border: 1px solid black;
}
section, nav, aside {
text-align: center;
padding: 0px;
height: 80%;
float: right;
margin: 5px;
border: 1px solid black;
}
section {width: 480px;}
nav, aside {width: 218px;}
</style>
</head>
<body>
<header>
<h1>Header</h1>
</header>
<aside>
<h1>Aside</h1>
</aside>
<section>
<h1>Section</h1>
</section>
<nav>
<h1>Nav</h1>
</nav>
</body>
</html>
任何帮助将不胜感激
在正文中添加此 属性。
body{
margin: 0 auto;
max-width: 100%;
padding: 0;
width: 100%;
}
我建议你使用 flex,这 article 是 flex css 的良好开端。
我所做的是将内容包装到 flex-div,即 body-container
。然后我将 section
的 flex-grow 设置为 2,将 aside
nav
设置为 1。所以它将是 1:2:1 ratio
<!DOCTYPE html>
<html>
<head>
<title>Webpage Layout</title>
<style>
* {
padding: 0px;
}
html {
width: 970px;
margin: auto;
}
.body-container {
display: flex;
}
header, footer {
text-align: center;
height: 10%;
margin: 5px;
border: 1px solid black;
}
section, nav, aside {
text-align: center;
margin: 5px;
border: 1px solid black;
}
section {
flex: 2 0 auto;
}
nav, aside {
flex: 1 0 auto;
}
</style>
</head>
<body>
<header>
<h1>Header</h1>
</header>
<div class="body-container">
<aside>
<h1>Aside</h1>
</aside>
<section>
<h1>Section</h1>
</section>
<nav>
<h1>Nav</h1>
</nav>
</div>
</body>
</html>
我在保持导航的右边缘与 header 的外边缘对齐时遇到问题。有什么简单的方法可以解决这个问题,这样无论浏览器大小如何,它们都可以排列。 我的HTML在下面。
<!DOCTYPE html>
<html>
<head>
<title>Webpage Layout</title>
<style>
* {padding: 0px;}
html {
width: 970px;
margin: auto;
}
header, footer {
width: 100%;
text-align: center;
height: 10%;
margin: 5px;
border: 1px solid black;
}
section, nav, aside {
text-align: center;
padding: 0px;
height: 80%;
float: right;
margin: 5px;
border: 1px solid black;
}
section {width: 480px;}
nav, aside {width: 218px;}
</style>
</head>
<body>
<header>
<h1>Header</h1>
</header>
<aside>
<h1>Aside</h1>
</aside>
<section>
<h1>Section</h1>
</section>
<nav>
<h1>Nav</h1>
</nav>
</body>
</html>
任何帮助将不胜感激
在正文中添加此 属性。
body{
margin: 0 auto;
max-width: 100%;
padding: 0;
width: 100%;
}
我建议你使用 flex,这 article 是 flex css 的良好开端。
我所做的是将内容包装到 flex-div,即 body-container
。然后我将 section
的 flex-grow 设置为 2,将 aside
nav
设置为 1。所以它将是 1:2:1 ratio
<!DOCTYPE html>
<html>
<head>
<title>Webpage Layout</title>
<style>
* {
padding: 0px;
}
html {
width: 970px;
margin: auto;
}
.body-container {
display: flex;
}
header, footer {
text-align: center;
height: 10%;
margin: 5px;
border: 1px solid black;
}
section, nav, aside {
text-align: center;
margin: 5px;
border: 1px solid black;
}
section {
flex: 2 0 auto;
}
nav, aside {
flex: 1 0 auto;
}
</style>
</head>
<body>
<header>
<h1>Header</h1>
</header>
<div class="body-container">
<aside>
<h1>Aside</h1>
</aside>
<section>
<h1>Section</h1>
</section>
<nav>
<h1>Nav</h1>
</nav>
</div>
</body>
</html>