Principio experimental
Al definir estilos css, comprenda los métodos y las ideas de diseño de los atributos css y la estructura general y el diseño de la página.
Objetivo
Comprender y dominar los métodos de uso de varios selectores css.
Comprender y dominar las funciones y los métodos de diseño de uso de los selectores descendientes. Comprender y dominar El
las funciones, significados y métodos de uso de las pseudoclases. Comprender y dominar. el método de implementación y la idea de diseño de la navegación superior y la barra lateral
contenido experimental
Cree un proyecto y módulo web maven, experiment-03, el tipo de paquete del proyecto es war
bajo src/main, cree un directorio de aplicación web
en el directorio de aplicación web, cree un archivo layout.html, realice el diseño de diseño de página basado en el código HTML dado , y permitir agregar clases, etc. atributo importar estilo css
Requisitos + Consejos de diseño
Diseñe un estilo unificado para cada parte del área, cancele los márgenes interior y exterior del elemento globalmente y calcúlelo según el tamaño de la caja
El requisito 0
se basa en el código HTML actual y la página se presenta en una cuadrícula de 12.
El contenedor raíz del contenedor está centrado y el ancho máximo es de 960 px. El encabezado y el pie de página
del contenedor de filas elásticas Fila ocupan cada uno 1 fila y 12 columnas. La barra lateral principal ocupa 3 columnas; el artículo ocupa 9 columnas.
Navegación hacia arriba +1
Declare la navegación hacia arriba en el encabezado, agregue estilos como color de fondo/color de fuente flotante y empuje el cierre de sesión hacia el extremo derecho
Pie de página +1
elemento centrado
Barra lateral izquierda +1
para agregar estilos a la barra lateral izquierda, agregar color de fondo/color de fuente/flotante y otros estilos
ejecutar mostrar resultado
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.container{
max-width: 960px;
margin: 0 auto;
}
.row {
display: flex;
align-items: flex-start;
}
.area{
background: plum;
border-radius: 5px;
border: 3px solid mediumpurple;
padding: 10px;
}
.col-md-12 {
flex: 0 0 100%;
/*flex: 0 0 100% 是一个缩写属性,它包含了三个子属性:flex-grow, flex-shrink 和 flex-basis。它们分别控制了弹性项目的放大比例,缩小比例和基准大小。*/
}
.col-md-9 {
flex: 0 0 75%;
}
.col-md-3 {
flex: 0 0 25%;
}
.nav {
list-style: none;
display: flex;
}
.nav li a {
display: block;
padding: 15px 25px;
text-decoration: none;
justify-content: space-between;
color: white;
background-color: mediumorchid;
}
.nav a:hover {
background-color: magenta;
cursor: url(https://dl.zhutix.net/2023/04/170332.png),auto;
}
.nav .right {
margin-left: auto;
}
.sidebar {
min-width: 200px;
}
.sidebar-group {
background: gainsboro;
}
.sidebar-group > ul {
list-style: none;
}
.sidebar-group > h2 {
background: dodgerblue;
color: white;
padding: 10px 20px;
}
.sidebar-group a{
display: block;
color: black;
text-decoration: none;
padding: 10px 20px;
opacity: 0.8;
transition: transform 0.5s;
}
.sidebar-group a:hover{
background: darkgrey;
color: white;
opacity: 1;
transform: scale(1.1);
cursor: url(https://dl.zhutix.net/2023/04/170344.png),auto;
}
.footer p {
font-family: 宋体,serif;
text-align: center;
}
</style>
</head>
<body>
<div class="container">
<!-- header -->
<div class="area row">
<div class="col-md-12">
<ul class="nav">
<li><a href="#">Home</a></li>
<li><a href="#">News</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">About</a></li>
<li class="right"><a href="#">Logout</a></li>
</ul>
</div>
</div>
<!-- main -->
<div class="area row">
<!-- sidebar -->
<div class="area col-md-3 sidebar">
<div class="sidebar-group">
<h2>云技术管理</h2>
<ul>
<li><a href="#">云服务器</a></li>
<li><a href="#">云数据库</a></li>
<li><a href="#">负载均衡</a></li>
</ul>
</div>
<div class="sidebar-group">
<h2>安全管理</h2>
<ul>
<li><a href="#">云盾控制台</a></li>
<li><a href="#">DDoS高防IP</a></li>
<li><a href="#">Web应用防火墙</a></li>
<li><a href="#">CA证书服务</a></li>
</ul>
</div>
</div>
<!-- article -->
<div class="area col-md-9">
<h1>设计内容</h1>
<p>为各部分区域设计统一样式;全局取消元素内外边距,按box尺寸计算</p>
<h3>需求0</h3>
<p>基于当前HTML代码,按12栅格布局页面。Container根容器居中最大宽度960px;Row弹性行容器;
header/footer各占1行12列;main中sidebar占3列;article占9列。</p>
<h3>上导航+1</h3>
<p>header中声明上导航,添加背景色/悬浮字体颜色等样式,且将logout推至最右侧</p>
<h3>页脚+1</h3>
<p>元素居中</p>
<h3>左侧边栏+1</h3>
<p>为左侧边栏添加样式,添加背景色/字体色/悬浮等等样式</p>
</div>
</div>
<!-- footer -->
<div class="area row">
<div class="col-md-12 footer">
<p>东北林业大学<br>
软件工程专业 2046©</p>
</div>
</div>
</div>
</body>
</html>