Web实验三 CSS基本网页布局实验

news2024/11/29 10:46:33

实验原理

 

通过定义css样式,理解css属性以及页面真整体结构布局的方法及设计思想。

实验目的

理解并掌握多种css选择器的使用方法
理解并掌握后代选择器的作用及使用设计方法
理解并掌握伪类的作用、意义及使用方法
理解并掌握基于div容器页面布局的方法
理解并掌握页面整体结构布局的实现方法及设计思想
理解并掌握上导航、边侧栏的实现方法及设计思想

实验内容

创建maven Web项目及模块,experiment-03,项目打包类型为war
在src/main下,创建webapp目录
在webapp目录下,创建layout.html文件,基于给定HTML代码实现页面布局设计,允许添加class等属性引入css样式

需求+设计提示

为各部分区域设计统一样式;全局取消元素内外边距,按box尺寸计算

需求0
基于当前HTML代码,按12栅格布局页面。
Container根容器居中最大宽度960px
Row弹性行容器
header/footer各占1行12列
main中sidebar占3列;article占9列。

上导航+1
header中声明上导航,添加背景色/悬浮字体颜色等样式,且将logout推至最右侧

页脚+1
元素居中

左侧边栏+1
为左侧边栏添加样式,添加背景色/字体色/悬浮等等样式

运行显示结果

<!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&copy;</p>
    </div>
  </div>
</div>
</body>
</html>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/646327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TANL:STRUCTURED PREDICTION AS TRANSLATION BETWEEN AUGMENTED NATURAL LANGUAGES

原文链接&#xff1a;https://openreview.net/pdf?idUS-TP-xnXI ICLR 2021 介绍 问题 大多数解决结构性预测的方法都是在预训练模型上对特定的任务进行训练&#xff0c;存在两个局限性&#xff1a; 1&#xff09;判别分类器不能很好地利用预训练模型中对于该任务标签的已知知…

这个事实已冲击并颠覆我的认知:时间不多了

我们都知道人生短暂&#xff0c;可到底是怎么个短法&#xff1f; 十年是个模糊的表述&#xff0c;我们很难在脑海里想象十年是什么概念&#xff0c;但如果换成十个冬天&#xff0c;跟父母在一起十天&#xff0c;这样描述就会更直观些。 WaitButWhy对人生的时间进行了拆解&#…

Cesium教程(十九):Cesium粒子系统

Cesium教程(十九):Cesium粒子系统 1、粒子系统 1.1 什么是粒子系统 Cesium粒子系统是一种模拟复杂物理效应的图形技术,是由小图像组成的集合,当他们在一起形成更复杂的“模糊”对象时,会形成火、烟、云或烟火等。 1.2 初始粒子系统 效果预览 完整代码 <!DOCTYPE htm…

day05--java高级编程:Junit单元测试框架、泛型,集合:集合数组互转,迭代器,增强for循环,集合工具类,数据结构简介

补充&#xff1a;Junit单元测试框架 1. 简介 概述&#xff1a; JUnit是使用Java语言实现的单元测试框架&#xff0c;它是开源的&#xff0c;Java开发者都应当学习并使用JUnit编写单元测试。此外&#xff0c;几乎所有的IDE工具都集成了JUnit&#xff0c;这样我们就可以直接在…

CoreDX DDS应用开发指南(9)服务质量QoS

12 服务质量QoS DDS的强大功能之一是支持各种服务质量(QoS)设置。QoS设置允许应用程序开发人员定制发布者、订阅者的行为以及它们之间的通信。 从DomainParticipantFactory到DataReader和DataWriter,大多数DDS实体都有一组适用的QoS设置。QoS设置包含在一个结构中。 例如,D…

【Flutter】Flutter 如何获取当前路由

文章目录 一、前言二、Flutter 路由基础知识1. 什么是路由2. Flutter 中的路由管理 三、如何在 Flutter 中获取当前路由1. 使用 NavigatorState 类2. 使用 ModalRoute 类 四、代码示例1. 一个简单的获取当前路由的例子2. 实际业务场景中获取当前路由的例子 五、完整可运行的代码…

什么才是好的测试用例?

对于测试用例来讲&#xff0c;“好的”测试用例一定是一个完备的集合&#xff0c;能够覆盖所有的等价类以及各种边界值&#xff0c;而跟能否发现缺陷无关。 如果把测试软件看做一个池塘&#xff0c;软件缺陷是池塘中的鱼&#xff0c;建立测试用例集的过程就像是在编织一张捕鱼…

新能源驱动电机NVH开发研究

摘要&#xff1a; 本文介绍了新能源驱动电机行业发展现状&#xff0c;详细论述了目前行业内主流电机&#xff1a; 1、驱动电机现状 驱动电机是新能源车辆和混合动力车辆的核心动力源&#xff0c;基于电磁感应效应&#xff0c;驱动电机将整车提供的电能转化为机械能&#xff0c…

一文3000字从0到1用【 pytest+excel】实现自动化接口测试

项目结构 1.common 存放公用方法 login.py 前置条件类public.py 获取文件指定目录类 复制代码 2. base 存放底层方法类 method.py复制代码 3. data 存放数据 data.xls 复制代码 4. tests 存放用例类 pytest test_excel.py5. utils存放工具类operationExcel.py 复制代码 代…

谷歌高级语法有哪些,以及如何开发国外客户

谷歌高级语法指令常用的有下面几个&#xff1a; site、inurl、intitle、intext、filetype、link、index of、related 谷歌高级语法用法&#xff1a; 1.Site的三种常用用法 示例&#xff1a;site域名&#xff08;site:org&#xff09; site域名contact(site:org contact) 产…

HarmonyOS元服务端云一体化开发快速入门(上)

一、前提条件 您已使用已实名认证的华为开发者帐号登录DevEco Studio。 请确保您的华为开发者帐号余额充足&#xff0c;账户欠费将导致云存储服务开通失败。 二、选择云开发模板 1.选择以下任一种方式&#xff0c;打开工程创建向导界面。 如果当前未打开任何工程&#xff0c…

【宿舍管理系统】注册登录页面的实现(前端)

目录 一.创建一个jsp文件&#xff0c;命名为login.jsp 代码&#xff1a; 1. 2. 3. 4. 5. 6. ​编辑 二. 创建一个css文件&#xff0c;并命名为style.css 1. ​编辑效果如下&#xff1a; ​编辑 代码解析&#xff1a; 2. 效果如下&#xff1a; 代码解析&#xff1…

如何做好《关键信息基础设施安全保护要求》提到的收敛暴露面?

5月1日&#xff0c;《信息安全技术 关键信息基础设施安全保护要求》&#xff08;GB/T 39204-2022&#xff09;国家标准正式实施。该标准作为关键信息基础设施安全保护标准体系的构建基础&#xff0c;提出了关键信息基础设施安全保护的三项基本原则&#xff0c;为运营者开展关键…

华为OD机试真题 JavaScript 实现【最左侧冗余覆盖子串】【2023Q2 100分】

一、题目描述 给定两个字符串 s1 和 s2 和正整数k&#xff0c;其中 s1 长度为 n1&#xff0c;s2 长度为 n2&#xff0c; 在s2中选一个子串&#xff0c;满足: 该子串长度为n1k&#xff1b;该子串中包含s1中全部字母&#xff1b;该子串每个字母出现次数不小于s1中对应的字母&am…

2023年,现在学Python还吃香吗?计算机专业怎么样?

自从ChatGPT诞生以来&#xff0c;各大科技公司纷纷推出了自己的AI产品&#xff0c;在这个赛道上卷生卷死&#xff0c;纷纷布局。 从Google的Bard AI、OpenAI出走团队的Claude&#xff0c;到中国的众多公司&#xff0c;如百度的文心一言。 总的来说&#xff0c;AI的应用领域日…

Java培训周期一般多长?Java培训班过来人告诉你!

市场上比较靠谱的java培训机构的培训时间一般都是5-6个月&#xff0c;好程序员是4个月&#xff0c;个别培训机构可能因为班型不同而有所区别。学的时间太短学到的知识可能会有遗漏&#xff0c;造成基础不扎实;学习时间太长也会过于拖沓&#xff0c;还降低了整个培训的性价比。 …

qt creator使用问题

qt creator 多版本安装需要卸载之前的版本&#xff0c;安装目录默认在Qt目录下&#xff08;qt的sdk也在qt目录下&#xff09; 编译过程中遇到一些很奇怪问题&#xff0c;建议优先重新编译。 issue qtcreator inappropriate for the inferior 构建套件&#xff0c;前面的感…

YOLO-V5分类实战系列 —— 快速训练自己的数据集

YOLO-V5 训练自己的分类模型 1、获取官方源码2、测试官方源码2.1、公开数据集测试源码 3、源码模块解析3.1、数据读取 4、快速开始训练自己的数据4.1、准备自己的数据4.2、配置训练参数 1、获取官方源码 官方代码&#xff1a;https://github.com/ultralytics/yolov5 更新版本&a…

【Matter】Matter学习笔记1

文章目录 前言Matter协议架构1.Matter Over IPV62.Matter协议架构3.Matter标准协议架构 Matter网络拓扑结构Mesh组网1.单一网络拓扑2.星形网络拓扑 设备数据模型&#xff08;Date Model&#xff09;1.设备和端点&#xff08;Node、Endpoint&#xff09;2.节点角色&#xff08;N…

58、基于51单片机GPS定位自动报站时间显示语音播报公交车系统设计(程序+原理图+PCB源文件+参考论文+开题报告+任务书+元器件清单等)

摘 要 1831年&#xff0c;英国的沃尔特汗考为他的国家制造出了世界上第一辆装载发动机的公共汽车&#xff0c;至今&#xff0c;公交车已经经历过近200年的发展过程。从刚开始“闷罐头”样式到如今配套空调系统&#xff1b;从专人售票至无人售票&#xff1b;从人工报站至半自动…