设计一个网页,包含横向水平主菜单、纵向树形面板和客户区。横向水平主菜单包含长方形、圆、菱形、正方形、椭圆5个菜单项。纵向树形面板含有线型、颜色、动静3个选项,线型还有实线、虚线2个子项,颜色有红、绿、蓝3个子项,动静含有动和静2个子选项。
时间: 2023-10-20 15:24:43 浏览: 220
以下是基本的HTML和CSS代码,实现了题目中要求的网页设计:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>网页设计</title>
<style>
body {
margin: 0;
padding: 0;
}
.menu {
display: flex;
background-color: #ccc;
height: 50px;
}
.menu-item {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
font-weight: bold;
color: #fff;
cursor: pointer;
transition: background-color 0.3s;
}
.menu-item:hover {
background-color: #555;
}
.tree-panel {
display: flex;
height: calc(100vh - 50px);
}
.tree-menu {
width: 200px;
background-color: #eee;
padding: 10px;
box-sizing: border-box;
border-right: 1px solid #ddd;
}
.tree-item {
margin-bottom: 10px;
padding: 5px;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s;
}
.tree-item:hover {
background-color: #ddd;
}
.customer-area {
flex: 1;
padding: 20px;
box-sizing: border-box;
font-size: 24px;
text-align: center;
}
.shape-rectangle {
background-color: #f00;
width: 100px;
height: 50px;
margin-right: 10px;
display: inline-block;
}
.shape-circle {
background-color: #0f0;
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 10px;
display: inline-block;
}
.shape-diamond {
background-color: #00f;
width: 50px;
height: 50px;
transform: rotate(45deg);
margin-right: 10px;
display: inline-block;
}
.shape-square {
background-color: #ff0;
width: 50px;
height: 50px;
margin-right: 10px;
display: inline-block;
}
.shape-ellipse {
background-color: #f0f;
width: 70px;
height: 50px;
border-radius: 50%;
margin-right: 10px;
display: inline-block;
}
</style>
</head>
<body>
<div class="menu">
<div class="menu-item shape-rectangle">长方形</div>
<div class="menu-item shape-circle">圆</div>
<div class="menu-item shape-diamond">菱形</div>
<div class="menu-item shape-square">正方形</div>
<div class="menu-item shape-ellipse">椭圆</div>
</div>
<div class="tree-panel">
<div class="tree-menu">
<div class="tree-item">线型
<ul>
<li>实线</li>
<li>虚线</li>
</ul>
</div>
<div class="tree-item">颜色
<ul>
<li>红</li>
<li>绿</li>
<li>蓝</li>
</ul>
</div>
<div class="tree-item">动静
<ul>
<li>动</li>
<li>静</li>
</ul>
</div>
</div>
<div class="customer-area">这里是客户区域</div>
</div>
</body>
</html>
```
解释一下代码:
1. 通过 `display: flex` 实现了横向水平主菜单和纵向树形面板的排列布局。
2. 使用 `.menu` 类定义了横向水平主菜单,每个菜单项使用 `.menu-item` 类定义。使用 `flex: 1` 让每个菜单项占据相同的宽度。使用 `transition` 实现菜单项鼠标悬停时的动画效果。
3. 使用 `.tree-panel` 类定义了纵向树形面板和客户区域。使用 `height: calc(100vh - 50px)` 让纵向树形面板占据剩余的高度。使用 `flex: 1` 让客户区域占据剩余的宽度。
4. 使用 `.tree-menu` 类定义了纵向树形面板中的菜单区域,使用 `.tree-item` 类定义了每个菜单项。使用 `ul` 和 `li` 实现子菜单。使用 `border-right` 实现菜单区域的右边框线。
5. 使用 `.shape-rectangle`、`.shape-circle`、`.shape-diamond`、`.shape-square`、`.shape-ellipse` 分别定义了横向水平主菜单中的5个菜单项的样式。
阅读全文