基于HTML5和CSS3搭建一个Web网页(一)

news2024/12/25 23:37:59

倘若代码中有任何问题或疑问,欢迎留言交流~

网页描述

创建一个包含导航栏、主内容区域和页脚的响应式网页。
需求:

  1. 导航栏:
    在页面顶部创建一个导航栏,包含首页、关于我们、服务和联系我们等链接。
    设置导航栏样式,包括字体、颜色和背景颜色等。
    在滚动页面时,导航栏应始终固定在顶部。
  2. 主内容区域:
    包含介绍性文本和至少两张图片。
    对文本和图片应用样式,例如字体样式、对齐方式等。
  3. 页脚:
    包含版权信息和日期,并进行相应的样式设计.
  4. 响应式布局:
    当在不同大小的设备(如手机、平板电脑、笔记本电脑等)上查看时,网页应该具有很好的可读性和易用性。
    提示:
    使用HTML5的新元素,如header、footer、nav、section、article等进行布局。
    使用CSS3的新特性,如渐变、阴影、动画、Flexbox或Grid布局等提升网页的视觉效果。
    使用媒体查询(@media)来设置响应式布局的断点。

导航栏

首先搭建导航栏的样式,如大小颜色等等。
搭建效果如下:
在这里插入图片描述
html代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>作业一</title>
    <link rel="stylesheet" href="../work_css/work1.css">
</head>
<body>
    <div class="nav">
        <ul>
            <li><a href="#">首页</a></li>
            <li><a href="#">关于我们</a></li>
            <li><a href="#">服务</a></li>
            <li><a href="#">联系我们</a></li>
        </ul>
    </div>

</body>
</html>

work1.css代码如下:

/* 初始化html、body宽高100%,占满整个窗口 */
html body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

.nav {
    /* 设置导航栏的大小和颜色 */
    width: 100%;
    height: 50px;
    background-color: rgba(0,0,0,0.4);

    /* 导航栏采用Flex布局方式 */
    /* 采用Flex布局的好处:1.使得代码更加简洁 2.不用考虑宽的设置,会自动占满 */
    display: flex;
}
.nav ul {
    /* Flex需要初始化ul标签的宽度 */
    width: 100%;
    height: 100%;
    display: flex;

    /* 去掉列表点 */
    list-style: none;
    /* 取消ul标签默认的内外边距 */
    margin: 0;
    padding: 0;
}
.nav ul li {
     /* 设置 flex-grow 为 1 保证所有的 li 元素都有相等的宽度,而不论其内容的宽度 */
     flex-grow: 1;
     height: 100%;
     /* 对齐文本到中心 */
     text-align: center;
     /* 这一行使文字垂直居中 */
     display: flex; justify-content: center;
}
.nav ul li a {
    /* 设置字体大小和颜色,并去掉下划线 */
    font-size: 16px;
    color: black;
    text-decoration: none;
}

特点是使用了Flex布局,其余在代码中有注释,代码中有问题或疑惑欢迎交流哦~
接下来需要添加导航栏的响应部分,即鼠标悬停在上面时的效果。
在这里插入图片描述
添加了如图所示的悬停效果,但是由于只有四个按钮所以不是很好看哈哈。
主要修改的是a标签以及添加a:hover
修改后的css代码如下:

.nav ul li a {
    /* 设置字体大小和颜色,并去掉下划线 */
    font-size: 18px;
    color: black;
    text-decoration: none;

    display: block;
    margin-top: 12px;
    height: 36px;
    border-bottom: 2px rgba(0,0,0,0.4);
}

.nav ul li a:hover {
    color: white;
    border-bottom: 2px solid white;
} 

接下来需要解决,“在滚动页面时,导航栏应始终固定在顶部”问题。
固定导航栏只需要添加nav的position属性即可,如

.nav {
	/*其余代码*/
	position: fixed;
}

最后完整的导航栏代码如下:

/* 初始化html、body宽高100%,占满整个窗口 */
html body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

.nav {
    /* 设置导航栏的大小和颜色 */
    width: 100%;
    height: 50px;
    background-color: rgba(0,0,0,0.4);

    /* 导航栏采用Flex布局方式 */
    /* 采用Flex布局的好处:1.使得代码更加简洁 2.不用考虑宽的设置,会自动占满 */
    display: flex;

    /* 固定导航栏 */
    position: fixed;
}
.nav ul {
    /* Flex需要初始化ul标签的宽度 */
    width: 100%;
    height: 100%;
    display: flex;

    /* 去掉列表点 */
    list-style: none;
    /* 取消ul标签默认的内外边距 */
    margin: 0;
    padding: 0;

   
}
.nav ul li {
     /* 设置 flex-grow 为 1 保证所有的 li 元素都有相等的宽度,而不论其内容的宽度 */
     flex-grow: 1;
     height: 100%;
     /* 对齐文本到中心 */
     text-align: center;
     /* 这一行使文字垂直居中 */
     display: flex;
     
     justify-content: center; 
}
.nav ul li a {
    /* 设置字体大小和颜色,并去掉下划线 */
    font-size: 18px;
    color: black;
    text-decoration: none;

    display: block;
    margin-top: 12px;
    height: 36px;
    border-bottom: 2px rgba(0,0,0,0.4);
}

.nav ul li a:hover {
    color: white;
    border-bottom: 2px solid white;
} 

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

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

相关文章

Web应用开发中查找慢SQL的方法

每条SQL语句在执行时都需要消耗一定的I/O资源&#xff0c;SQL语句执行的快慢直接决定了硬件资源被占用时长的长短&#xff0c;慢SQL一般指查询很慢的SQL语句。在MySQL数据库中&#xff0c;可以通过慢查询来查看所有执行超时的SQL语句。在默认情况下&#xff0c;一般慢SQL是关闭…

问题-小技巧-Win11-如何把Win11鼠标右键界面变成Win10鼠标右键界面

如果Win10的鼠标右键操作不常用&#xff0c;那就按住shift后再按鼠标右键&#xff0c;就会使用Win10的鼠标右键界面。 如果想彻底改成Win10的操作做界面可以看—— 问题-小技巧-Win11-如何把Win11鼠标右键界面改成Win10鼠标右键界面 这个文章详细的讲解了&#xff0c;如果把…

Vue3:分类管理综合案例实现

综合案例 实现分类管理功能 路由 在main.js中引入router 访问根路径’/后跳转到布局容器 加载布局容器后重定向到’/nav/manage’ 加载我们需要的组件 这样可以在布局容器中切换功能模块时,只对需要修改的组件进行重新加载 const router createRouter({history: create…

深度学习500问——Chapter08:目标检测(9)

文章目录 8.5 目标检测的技巧汇总 8.5.1 Data Augmentation 8.5.2 OHEM 8.5.3 NMS&#xff1a;Soft NMS/ Polygon NMS/ Inclined NMS/ ConvNMS/ Yes-Net NMS/ Softer NMS 8.5.4 Multi Scale Training/Testing 8.5.5 建立小物体与context的关系 8.5.6 参考relation network 8.5.…

Python数据分析——Py基础语法复习(非常详细版)

1.基础数据类型 Number数字、String字符串、List列表、Tuple元组、Set集合、dictionary字典。数字、字符串、元组不可变&#xff0c;列表、集合、字典是可变数据类型 数字类型&#xff1a;int float boo complex复数 2.变量无需声明数据类型&#xff0c;且允许同时为多个变量…

二手手机行业商家如何利用二手机店erp进行破局?

在数字化和AI发展越发先进的的今天&#xff0c;二手手机市场正迎来前所未有的变革。途渡科技精心打造的超机购ERP管理软件&#xff0c;凭借其独特的智能化、高效化特点&#xff0c;正在引领这场变革&#xff0c;为二手手机商家提供全面、深度的数字化管理解决方案。二手手机商家…

软件设计师笔记和错题

笔记截图 数据库 模式是概念模式 模式/内模式 存在概念级和内部级之间&#xff0c;实现了概念模式和内模式的互相转换 外模式/模式映像 存在外部级和概念级之间&#xff0c;实现了外模式和概念模式的互相转换。 数据的物理独立性&#xff0c; 概念模式和内模式之间的映像…

Java开发大厂面试第03讲:线程的状态有哪些?它是如何工作的?

线程&#xff08;Thread&#xff09;是并发编程的基础&#xff0c;也是程序执行的最小单元&#xff0c;它依托进程而存在。一个进程中可以包含多个线程&#xff0c;多线程可以共享一块内存空间和一组系统资源&#xff0c;因此线程之间的切换更加节省资源、更加轻量化&#xff0…

微信小程序踩坑,skyline模式下,scroll-view下面的一级元素设置margin中的auto无效,具体数据有效

开发工具版本 基础库 开启skyline渲染调试 问题描述 skyline模式下,scroll-view下面的一级元素的margin写auto的值是没有效果的(二级元素margin写auto是有效果的),关闭这个模式就正常显示 演示效果图 父元素的宽度和高度效果(宽度是750rpx,宽度占满的) 一级元素宽度和css效果…

Apifox:API 接口自动化测试完全指南

01 前言 这是一篇关于 Apifox 的接口自动化测试教程。相信你已经对 Apifox 有所了解&#xff1a;“集 API 文档、API 调试、API Mock、API 自动化测试&#xff0c;更先进的 API 设计/开发/测试工具”。 笔者是后端开发&#xff0c;因此这篇教程关注的是 API 自动化测试&#…

Jenkins 忘记登录密码怎么办

在安装Jenkins中遇到忘记登录密码该怎么呢&#xff1f;下面是一个解决办法 1. 先停止jenkins服务 我是用tomcat启动的jenkis 2. 找到config.yaml文件 find / -name config.xml命令执行后找到如下结果&#xff1a; /root/.jenkins/config.xml /root/.jenkins/users/admin_839…

正则表达式和sed

一、正则表达式 主要用来匹配字符串&#xff08;命令结果&#xff0c;文本内容&#xff09;&#xff0c; 通配符匹配文件&#xff08;而且是已存在的文件&#xff09; 基本正则表达式 扩展正则表达式 1.元字符 . 匹配任意单个字符&#xff0c;可以是一个汉字 […

机器人计算力矩控制

反馈线性化&#xff1a; 反馈线性化是一种控制系统设计方法&#xff0c;其目标是通过状态空间的坐标变换和控制变换&#xff0c;使得非线性系统的输入-状态映射或输入-输出映射反馈等价于线性系统。这样&#xff0c;就可以应用线性系统的控制理论来实现非线性系统的控制。在机…

企业级复杂前中台项目响应式处理方案

目录 01: 前言 02: 响应式下navigtionBar实现方案分析 数据 视图 小结 03: 抽离公用逻辑&#xff0c;封装系列动作 04: PC端navigationBar私有逻辑处理 05: 分析 navigationBar 闪烁问题 06: 处理 navigationBar 闪烁问题 07: category数据缓存&#xff0c;覆盖…

【Axure原型分享】动态伸缩组织架构图

今天和大家分享动态伸缩组织架构图图原型模板&#xff0c;我们可以通过点击加减按钮来展开或收起子内容&#xff0c;具体效果可以点击下方视频观看或者打开预览地址来体验 【原型效果】 【Axure高保真原型】动态伸缩组织架构图 【原型预览含下载地址】 https://axhub.im/ax9/…

层次式体系结构概述

1.软件体系结构 软件体系结构可定义为&#xff1a;软件体系结构为软件系统提供了结构、行为和属性的高级抽象&#xff0c;由构成系统的元素描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构&#xff0c;并…

Spark RDD案例:统计网站每月访问量

这个项目利用Spark技术&#xff0c;通过统计网站访问记录中的日期信息&#xff0c;实现了对每月访问量的统计和排序。通过分析数据&#xff0c;我们可以了解到不同月份的网站访问情况&#xff0c;为进一步优化网站内容和推广策略提供数据支持。 使用Spark统计网站每月访问量 …

Android Iptables 客制化方法及基本使用

Android Iptables 客制化方法及基本使用 Android netd 的自定义链NetdConstants.cpp 的 execIptablesRestore 方法IptablesRestoreController 的 execute 方法使用 oem-iptables-init.sh 添加自定义的防火墙规则oem-iptables-init.sh 示例文件 基本概念Iptables 链Iptables 表 …

OpenHarmony 实战开发——使用分布式菜单创建点餐神器

随着社会的进步与发展&#xff0c;科技手段的推陈出新&#xff0c;餐饮行业也在寻求新的突破与变革&#xff0c;手机扫描二维码点餐系统已经成为餐饮行业的未来趋势&#xff0c;发展空间巨大&#xff1b;扫码点餐&#xff0c;是“互联网餐饮”潮流的产物&#xff0c;可以有效地…

k8s-Helm包管理器

这里写目录标题 什么是Helmhelm架构重要概念组件Helm 客户端Helm 库 安装heml使用halm快速部署应用添加 helm 仓库 Helm 的常用命令chart 详解目录结构Redis chart 实践创建StorageClass制备器&#xff0c;配置NFS动态制备修改 helm 源搜索 redis chart修改配置安装查看安装情况…