如何设置几个循环出来的span其中一个宽度_一步一步实现一个古诗词网站(三)——首页...

news/2024/5/16 18:05:00/文章来源:https://blog.csdn.net/weixin_39591720/article/details/110908467
汪小黑:一步一步实现一个古诗文网站(二)——需求分析​zhuanlan.zhihu.com

上篇文章,我们对项目进行了需求分析,明确了项目所需的各个功能模块,产出了页面的原型设计图。

这篇文章我们将进入实战编码环节,大致内容结构如下:

  1. HTML简介
  2. 如何划分页面结构
  3. 页面样式优化
  4. 下期预告

一、HTML简介

HTML 是用来描述网页的一种语言。

  1. HTML 指的是超文本标记语言 (Hyper Text Markup Language)
  2. HTML 不是一种编程语言,而是一种标记语言 (markup language)
  3. 标记语言是一套标记标签 (markup tag)
  4. HTML 使用标记标签来描述网页

HTML是页面的骨架,构成了一个页面的大体结构。学习HTML,就是掌握HTML常用标签的用法,了解它们的属性。

在实际的学习和工作当中,使用最频繁的标签就是 div 标签了。标签之间的区别主要有以下几种:

  1. 语义上的区别
  2. 功能上的区别
  3. 默认样式的区别

语义上的区别?

比如 header 标签和 div 标签,虽然默认的样式没有区别,但是 header 标签有具体的语义,表示的是头部。

功能上的区别?

比如 img 标签、input 标签、video 标签和 audio 标签等等,这些标签都有实际的功能,和 div 标签这种仅仅只是在页面上创建一个区块有很大的区别。

默认样式的区别?

比如 span 标签和 div 标签,前者是行内标签,后者是块级标签,两者的默认样式有区别。

接下来请思考一个问题,如果给你一张设计稿,你将如何划分它的 HTML 结构?

先思考几分钟,在第二节我将讲讲我自己在实际工作中运用的方法。

de82e560187380a3d149292125135a04.png

二、页面结构划分

页面结构划分的一个基本原则就是从整体到局部。

第一步,我们将页面划分为两个主要的区块,页眉区和主题内容区。

da1eb6297298c270d9d744f762a9b84e.png

此时我们的页面结构应该长这样:

  <body><div class="container"><!-- 页眉区 --><div class="header"></div><!-- 主体内容区 --><div class="main-content"></div></div></body>

上一步,我们总整体角度对我们的页面进行了划分,接下来就是对各个区块进行细分。先来细分页眉区域。

页眉区域大体分为两个主要区块,导航区块和搜索区块。

088ddc1c37fe416e9250d46619aa2495.png

此时我们的页面结构应该长这样:

  <body><div class="container"><!-- 页眉区 --><div class="header"><!-- 导航区 --><div class="nav"><div class="nav-item"><a href="./index.html"><img src="https://s2.ax1x.com/2019/11/03/KXtOUA.png" /></a></div><div class="nav-item"><a href="./index.html">首页</a></div><div class="nav-item"><a href="./search.html">搜索页</a></div></div><!-- 搜索区 --><div class="search"><input placeholder="请输入" /><button>确定</button></div></div><!-- 主体内容区 --><div class="main-content"></div></div></body>

接下来就是细分主体内容区部分了,主体内容区大致分为两部分,推荐区和信息区。

292bf5351a02621a860a67dcb7c95975.png

最终,我们得到了我们页面大致的 HTML 骨架:

  <body><div class="container"><!-- 页眉区 --><div class="header"><!-- 导航区 --><div class="nav"><div class="nav-item"><a href="./index.html"><img src="https://s2.ax1x.com/2019/11/03/KXtOUA.png" /></a></div><div class="nav-item"><a href="./index.html">首页</a></div><div class="nav-item"><a href="./search.html">搜索页</a></div></div><!-- 搜索区 --><div class="search"><input placeholder="请输入" /><button>确定</button></div></div><!-- 主体内容区 --><div class="main-content"><!-- 推荐区 --><div class="recommend"><!-- 诗文列表 --><ul class="poetry-list">诗文列表</ul></div><!-- 信息区 --><div class="info-container"><!-- 作者列表 --><ul class="poet-list">作者列表</ul><!-- 标签列表 --><ul class="tag-list">标签列表</ul></div></div></div></body>

来看下实际的页面展示效果:

2a1c0b7f093c4ac3507c604d4b8abb75.png

我们可以看到,页面的大体结构是没有太多的问题,但是有以下两点问题:

  1. 页面元素位置和设计稿不一致。
  2. 是不是优点丑啊。。。

55f366cfa1efe124a2d41a748d25df35.png

是非常丑呀!!!

下一节,我们来给我们的页面加点样式吧!

三、页面样式优化

如果说 HTML 是网页的骨架,那么 CSS(Cascading Style Sheets) 就是网页的样式了。

CSS,中文名为层叠样式表,是一种用来表现 HTML 等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

网上关于 CSS 的入门教程非常多且详细,这里就不大篇幅介绍具体的属性和用法了。我们接下来将使用 flex 布局对页面进行布局,对 flex 布局还不太熟悉的同学需要先详细阅读下边两篇教程,弄明白 flex 布局是什么和 flex 布局的常用属性。

Flex 布局教程:语法篇 - 阮一峰的网络日志​www.ruanyifeng.com
2776eaa7675e3503cb74fc2888fd2c70.png
Flex 布局教程:实例篇 - 阮一峰的网络日志​www.ruanyifeng.com
b89f469ae72d2b9370301cf16362b05c.png

布局

1.页面整体内容居中,限定内容宽度为 900px

.container {width: 900px;margin-left: auto;margin-right: auto;
}

看看此时页面的效果,可以看到内容正常居中了。

3753ca2f30f919f8518906d7dd058462.png

2.页眉添加 flex 布局,设置 logo 宽度

/* 页眉添加 flex 布局 */
.container > .header {display: flex;align-items: center;justify-content: space-between;
}/* 导航区添加 flex 布局 */
.container > .header > .nav {display: flex;align-items: center;width: 400px;justify-content: space-around;
}/* 设置 logo 宽度 */
.container > .header img {width: 100px;
}

看看此时页面的效果,可以看到页眉区元素布局没问题了。

26897e2a977a4a9a967f9504eebfec60.png

3.主题内容区添加 flex 布局

/* 主体内容区添加 flex 布局 */
.main-content {display: flex;
}/* 设置推荐区宽度为 500px */
.main-content > .recommend {width: 500px;
}/* 设置信息区宽度为 400px */
.main-content > .info-container {width: 400px;
}

看看此时页面的效果,可以看到主体内容区元素布局没问题了。

998cb1e8c72a7646e0e1e3f6a9c4344f.png

由此,我们完成了页面的布局工作,接下来还需要做的就是优化我们页面的样式。

样式优化

1.优化导航区链接样式

/* 导航区链接样式 */
.container > .header a {text-decoration: none;color: #71777c;
}.container > .header a:hover {color: #69ed8b;
}

链接样式优化后:

9809e339905a6f52c623bca7af2e168e.png

2.优化导航区搜索框样式

/* 导航区搜索框样式 */
.container > .header input {box-sizing: border-box;height: 36px;padding: 0.5em 0.6em;display: inline-block;border: 1px solid #ccc;box-shadow: inset 0 1px 3px #ddd;border-radius: 4px;vertical-align: middle;
}.container > .header input:focus {outline: 1px solid #69ed69;
}

搜索框样式优化后:

cc16b83ce8d76367a81a0a6546aa5e7f.png

3.优化导航区确定按钮样式

/* 导航区确定按钮样式 */
.container > .header button {box-sizing: border-box;height: 36px;width: 60px;cursor: pointer;color: white;padding: 0.5em 0.6em;background: #80ea80;border-radius: 2px;
}.container > .header button:hover {background: #69ed69;
}

确定按钮样式优化后:

d68d2bfa9fd4cbd6394a7bb61cc0665b.png

4.页眉和主体内容添加分界线

/* 页眉和主体内容添加分界线 */
.container > .header {padding-bottom: 10px;border-bottom: 1px solid #71777c;
}

添加分界线之后:

ea6dbe3aae069c26ac4e216439dba3cf.png

到此我们首页的布局和样式优化就完成了,对比一下前后页面的变化:

3753ca2f30f919f8518906d7dd058462.png
优化前

056d6721f7dbb93927c67870f12c8426.png
优化后

我想,还是好看了那么一丢丢吧。。。

6c728adbcdf54a616acf79fd342d5e77.png

四、下期预告

这篇文章详细介绍了首页的静态页面的制作过程,其中很重要的一点就是如何划分一个页面的页面结构——从整体到局部。

下篇文章将重点介绍 JS 的部分,实现每个区块的交互行为。

如果对这个系列感兴趣的同学欢迎关注一波~,可以收到最新的文章通知。

对前端入门感兴趣的小伙伴欢迎加入我们的前端学习交流群:

  1. qq群:948805468
  2. 微信群:加我微信(a1127502049),我拉你进群

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET技术+25台服务器怎样支撑世界第54大网站

&#xfeff;&#xfeff;英文原文&#xff1a;StackOverflow Update: 560M Pageviews A Month, 25 Servers, And Its All About Performance StackOverflow 是一个 IT 技术问答网站&#xff0c;用户可以在网站上提交和回答问题。当下的 StackOverflow 已拥有 400 万个用户&…

seo伪原创工具_一键生成伪原创文章有用吗(正确使用伪原创工具)

一定有不少的SEOer正在使用伪原创文件生成器这个工具吧&#xff0c;我可以正确的断定出来&#xff0c;一个懂SEO优化的SEOer绝对能够正确理解文章的作用&#xff0c;而那些似懂非懂的SEOer每天都在为原创文章的事情烦恼。往往一直以为每天坚持更新文章就可以获得排名的SEOer却没…

十年Java编程开发生涯,java基础刷题网站

Spring 面试题 1、不同版本的 Spring Framework 有哪些主要功能&#xff1f; 2、什么是 Spring Framework&#xff1f; 3、列举 Spring Framework 的优点。 4、Spring Framework 有哪些不同的功能&#xff1f; 5、Spring Framework 中有多少个模块&#xff0c;它们分别是什…

antd table 时间搜索_一份完整的网站SEO搜索引擎优化方案思路,送给你,请查收!...

我们在给一个网站做SEO优化的时候&#xff0c;通常都需要先做出一份网站优化的方案&#xff0c;根据方案再去针对网站进行细致的调整优化工作。这份方案的思路决定了你是否能把网站的优化做好&#xff0c;具体详情请大家继续往下看。一、行业品牌/调研我们在做一个网站的SEO优化…

Windows平台网站图片服务器架构的演进

&#xfeff;&#xfeff;构建在Windows平台之上的网站&#xff0c;往往会被业内众多架构师认为很“保守”。很大部分原因&#xff0c;是由于微软技术体系的封闭和部分技术人员的短视造成的。由于长期缺乏开源支持&#xff0c;所以只能“闭门造车”&#xff0c;这样很容易形成思…

高扩展性网站的50条原则

《高扩展性网站的50条原则》&#xff0c;利用一天半的时间快速浏览总结的电子书&#xff0c;对网站的建设有一个原则性的把握&#xff0c;书中提到的大部分原则现在已成为互联网行业的共识&#xff0c;但并不妨碍我们重新整理分类&#xff0c;从全局层面把控高扩展性网站的建设…

大型网站图片服务器架构的演进

在主流的Web站点中&#xff0c;图片往往是不可或缺的页面元素&#xff0c;尤其在大型网站中&#xff0c;几乎都将面临“海量图片资源”的存储、访问等相关技术问题。在针对图片服务器的架构扩展中&#xff0c;也会历经很多曲折甚至是血泪教训&#xff08;尤其是早期规划不足&am…

程序员 10个 堪称神器的学习网站

话不多说&#xff0c;直接上干货&#xff01; 注&#xff1a;分享一个学习交流群796170550&#xff0c;有不懂的问题可以一起相互讨论 【群里还含有&#xff1a;Java80g学习视频Java学习书籍Java项目实战源码安装软件等】 01、大学资源网 大学资源网是一个完全免费并且功能非…

爆肝整理珍藏多年的实用工具/学习网站,助你在写代码的路上更顺利!!!

前言 这期是介绍自己常用的一些工具安利一下 千万不要白嫖&#xff0c;真香警告⚠️。 但是我在构思这篇文章的时候发现我贴个标题&#xff0c;然后发下软件信息会不会太乏味了&#xff0c;于是创作鬼才我呀&#xff0c;准备用一个产品的研发流程&#xff0c;是的就是用这样的…

那些好用的网站推荐(一)----功能网站

1.Smallpdf&#xff1a;(https://smallpdf.com/) 可以实现文档之间的互相转换&#xff0c;我经常用的就是PDF转word&#xff0c;还有各种文件格式之间的转换 2.ProcessOn&#xff1a;(https://www.processon.com/) 很好的免费作图软件&#xff0c;画流程图、UML图&#xff0c;…

那些好用的网站推荐(二)----学习网站

3.菜鸟教程&#xff1a;(https://www.runoob.com/) 对新手很友好的一个教程网站&#xff0c;一般可以通过这个网站大体了解一下想要学习的知识&#xff0c;了解大体后再进行深度学习&#xff0c;很nice&#xff01; 4.虎课网&#xff1a;(https://huke88.com/album/2.html?se…

那些好用的网站推荐(三)----考研篇

31.考研帮&#xff1a;(http://www.kaoyan.com/) 32.考试点考研网&#xff1a;(http://www.kaoshidian.com/) 里面有很多公开课&#xff08;收费&#xff09; 33.2020考研报名查询&#xff1a;(http://kaoyan.eol.cn/) 里面有很多东西 34.中国研究生招生信息网&#xff1a;(…

那些好用的网站推荐(四)----英语学习网站

23.VOA&#xff1a;(https://www.chinavoa.com/) 24.TED&#xff1a;(https://www.ted.com/#/) 25.NPR&#xff1a;(https://www.npr.org/) 26.BBC&#xff1a;(https://bbc.enfamily.cn/) 27.韦氏辞典&#xff1a;(https://www.merriam-webster.com/) 英英词典 28.有道在…

那些好用的网站推荐(五)----资料检索网站篇

13.虫部落&#xff1a;(https://www.chongbuluo.com/) 很好搜索引擎&#xff0c;点开快搜&#xff0c;可以看到左边有按分类总结的搜索引擎&#xff0c;很实用。 14.Intute&#xff1a;(https://www.egouz.com/) 学术资源搜索引擎 15.Midoi&#xff1a;(https://free.com.tw/…

个人网站项目 (前端搭建)

文章目录项目目录结构核心功能按钮悬浮显示赞赏按钮右下悬浮窗评论区技术栈&#xff1a; SemanticUI Jquery 项目目录结构 一、 admin 文件夹&#xff1a; 后台页面 static -> lib 文件夹 &#xff1a; &#xff08;图书馆&#xff0c;依赖&#xff09;按顺序分别为 集成Ma…

十周后,62%的PHP网站将运行在一个不受支持的PHP版本上

根据W3Techs的统计数据&#xff0c;目前约有78.9&#xff05;的网站使用PHP开发。\\但是&#xff0c;PHP 5.6.x的安全支持将在2018年12月31日正式停止&#xff0c;这标志着对古老的PHP 5.x分支版本的支持都将结束。\\也就是说&#xff0c;从明年开始&#xff0c;大约62&#xf…

关于 网站部署 Tips

文章目录Jar 包网站管理端口占用二级域名创建Jar 包 打包方式 &#xff1a;mvn package -Dmaven.test.skiptrue 输出目录 &#xff1a;target 运行 jar 包 java -jar filename.jar 网站管理 端口占用 查看端口占用&#xff1a; lsof -i:端口号 清除占用该端口的所有进程&…

大型网站的技术架构演进过程

架构演变第一步&#xff1a;物理分离webserver和数据库 最开始&#xff0c;由于某些想法&#xff0c;于是在互联网上搭建了一个网站&#xff0c;这个时候甚至有可能主机都是租借的&#xff0c;但由于这篇文章我们只关注架构的演变历程&#xff0c;因此就假设这个时候已经是托管…

github 建设网站 自定义绑定域名

这两天用了Github建立了自己的个人主页&#xff0c; 网址为 hyman1994.com。 感兴趣的朋友可以访问一下&#xff0c;欢迎您的指导意见和建议&#xff01; 流程总结&#xff1a; 1.注册自己的github账户,名为XXX 2.创建一个名为XXX.github.io的库 3.我觉得挺重要的一步: 看了很多…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能&#xff0c;通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…