我有一个模板。它完全按照它应该的方式工作:左侧有一个黑色条,延伸到页面高度的 100%。
但老实说,我不明白如何创建此面板的副本并将其放在右侧。
我尝试使用 float
,但没有奏效。你能帮我么?
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSS Template</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family: Arial, Helvetica, sans-serif;
}
/* Style the side navigation */
.sidenav {
height: 100%;
width: 200px;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: #111;
overflow-x: hidden;
}
/* Side navigation links */
.sidenav a {
color: white;
padding: 16px;
text-decoration: none;
display: block;
}
/* Change color on hover */
.sidenav a:hover {
background-color: #ddd;
color: black;
}
/* Style the content */
.content {
margin-left: 200px;
padding-left: 20px;
}
</style>
</head>
<body>
<div class="sidenav">
<a href="#">Link</a>
<a href="#">Link</a>
<a href="#">Link</a>
</div>
<div class="content">
<h2>CSS Template</h2>
<p>A full-height, fixed sidenav and content.</p>
</div>
</body>
</html>
回答1
以下是如何实现这一点:
- 复制侧边栏标记并给它们不同的类名(除了它们的通用名称
sidenav
用于对通用样式进行分组)。
像这样:
<div class="sidenav sidenav-left">
<a href="#">Link</a>
<a href="#">Link</a>
<a href="#">Link</a>
</div>
<div class="sidenav sidenav-right">
<a href="#">Link</a>
<a href="#">Link</a>
<a href="#">Link</a>
</div>
- 将导航栏定位在不同的规则集中。
使用一个通用类将它们共同的样式分组,然后将它们独特的定位样式放在单独的规则集中,如下所示:
.sidenav {
height: 100%;
width: 200px;
z-index: 1;
background-color: #111;
overflow-x: hidden;
}
.sidenav-left {
position: fixed;
top: 0;
left: 0;
}
.sidenav-right {
position: fixed;
top: 0;
right: 0;
}