【手把手】制作一个简单的HTML网页

article/2025/10/9 8:33:04

前些天发现了一个巨牛的人工智能学习博客,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转

新建一个html文件:

1488713605137007396.png

我要给body添加一些样式,就在head元素上挂载一个style元素。

1488713655277049231.png

然后,写样式表:

1488714003902054281.png

效果:

1488714070605004548.png

这样的话,我们就可以看到body部分了。现在,我给body添加一点padding。

1488714153418019891.png

页面上看不出区别,让我们打开F12,看一下现在的body变成了什么样子。

1488714230777074058.png

示意图:

1488714254871088416.png

从图中可以看出,body元素分为三层,最里面的一层,就是520 x 500的那部分,这个叫做内部真实空间,也就是说,你可以在里面添加其他元素,比如div元素,p元素,a元素等等。然后中间的一层就是padding了,如果你没有加padding,那么这一层就相当于一层薄薄的保鲜膜,其实它没有厚度,就是0px。最外面的一层就是border,在我们这个例子中,body的border部分就只有2px,薄薄的一层。现在,我给body加一个背景色:

1488714627059016444.png

1488714814074059044.png

奇怪的是,怎么外面也变成orange了?外面一层是什么啊,是不是html元素啊,那么我们给html元素加一个白色的背景。

1488714899480010892.png

效果:

1488714887918013609.png

OK,我们接下来在body元素上挂载一个div元素。

1488715075871007810.png

注意哦,我现在给这个div元素绑定了一个class属性,属性值叫"wrap",这个class就叫做类,多个元素都可以绑定一个相同的class,通过这个class,我们可以设置一些通用的样式表。以后,但凡是绑定了这个class的元素,都能够拥有相同的样式效果。

现在,我给wrap添加一些样式:

1488715421043034450.png

注意哦,给class属性设置样式的时候,前面要加一个. ,在上一讲中,我们还说过,给id属性设置样式的时候,前面要加一个#,一样的意思,反正就是这么规定的。

效果:

1488715526855048143.png

我现在把高度改成100%,那么就会自动沾满父容器,也就是这里的body

1488715623855015561.png

效果:

1488715635434016310.png

那么,蓝色的部分,就是body最里面的那一层,我称之为内部真实空间。中间橘黄色的一层就是padding,最外面那一层薄薄的边界就是border,明白了吗?

好的,接下来开始今天的课程,我们来做一个简单的小页面。

1488715948965055477.png

我已经把图片都拿过来了。

index.html里面是这样子的:

1488715991418057077.png

接下来,我把必要的元素都放进去。

1488776257730006639.png

OK,我们一个一个来说,首先是h1元素,这个就和word一样的,属于标题元素,h1,就是最大的那种标题。接下来看img元素,这个元素的使用频率是非常高的,现在的网页几乎不可能说没有img元素的,这一点要明确。img元素有一个alt属性,它的意思就是说,当我鼠标画上这张的时候,会有一个小提示。width属性,这个不用多说了吧,设置图片的宽度。src属性,就是这张图片的地址,在我们这个项目中,图片被放在了上级目录的img文件夹下,所以,…/ 的意思就是去上级目录,这个属于相对路径,相对于当前文件的路径。在这段代码中,其他元素应该都很好理解了。p元素表示里面的文字是一个段落,h2元素就是二级标题,这些元素都是块级元素。还记得块级元素是什么意思吗?对了,它是不是会默认占满一整行啊。以这个例子来说,他们的父元素就是body,所以,他们会默认占满body的宽度。让我们来看一下效果吧。

把项目跑起来:

1488776433543094725.png

访问:http://localhost/Base/ch03/index.html

1488776453121062176.png

哎呀,图片没有显示,这是怎么回事呢,不要急,我们再来看一下目录结构:

1488776481574050882.png

看到了吗,同学们,我们的index.html页面和img文件夹是不是平级的呀?而我们的代码是这样写的:

水果蛋糕
…/ 表示退到上一个目录,也就是这里的ch03文件夹所在的目录:

1488776576246064097.png

这样吧,我把文件夹都闭合了。

1488776608262079425.png

ch03文件夹所在的目录是哪里呢,是不是WebContent目录呀?那么,在这个目录下,有没有一个叫做img的文件夹呢,是不是没有呀?所以,我们这里就不需要写…/了。直接把…/去掉:

1488776668949068859.png

刷新页面:

1488776698043074666.png

这样的话,图片是不是就显示出来呀?好的,其实,我们这种src连接的路径,叫做相对路径,在你们学习的过程中,或者从网上,或者从书本上,是不是还听说过一个名词叫做绝对路径啊?那到底什么是绝对路径呢,在本文中,我就给你解释清楚,到底什么是绝对路径?现在,我给img的前面加一个反斜杠:

1488776827465048647.png

大伙猜一猜,如果我再次刷新页面,图片能不能显示出来呢?好的,见证奇迹的时刻到了,我刷~

1488776880949024993.png

图片是不是又没有了呀?让我们打开F12,发现报错了。

1488776920277080610.png

他来了个404错误,404就是找不到资源,也就是说找不到图片。我们看一下,他去哪里找的:http://localhost/img/1.jpg 。看不出来?那我再写一点东西,你自己猜一下,前面这个反斜杠是什么意思。

1488777248574069439.png

刷新一下:

1488777262527032973.png

图片是不是又出来了呀,这个就叫做绝对路径,他和相对路径的区别就是,前面要加一个反斜杠。只要我加了反斜杠,浏览器就会认为我这个是绝对路径。Base是我们的项目发布名称,这个可以去server.xml里面改的。然后:

1488777409293021196.png

这一串,对于Web项目来说,他会去你的发布目录的根目录找,也就是WebContent。我们这个项目,是用eclipse生成的,我知道,你们很多人都喜欢用MyEclipse,那么发布目录是不是叫做WebRoot啊。其实啊,这只是一个文件夹的名字而已,我们也完全可以叫其他的名字。现在,我来手动改一下。

1488777543980013370.png

我现在把WebContent的名字改成了target,那么,会怎么样呢?我先卖个关子,接下来,我把tomcat关掉,重新启动一下,请问,同学们,你们觉得我还能不能访问到这个页面?

不好意思,启动报错:

1488777635199067610.png

java.lang.IllegalArgumentException: Document base E:\Java培训\software\eclipse-mars\workspace\Base\WebContent does not exist or is not a readable directory

它说E:\Java培训\software\eclipse-mars\workspace\Base\WebContent这个目录不存在或者不是一个可以读取的目录?我们刚才是不是把WebContent目录的名字改掉了呀,可是tomcat还是认为我们的发布目录名字叫做WebContent,所以就报错了。解决方法,就是手动改一下发布目录,打开server.xml,把那个目录给改掉:

1488778607012093773.png

然后,重启tomcat,访问http://localhost/Base/ch03/index.html

1488778649121078061.png

OK了吧,我只是给你们演示一下,各位就不要去改WebContent了,不然的话和服务器上的文件又不一样了。

这个页面有点美中不足的是,有一块溢出了:

1488778684418056324.png

可以看到,巧克力蛋糕的说明超出了body的范围,这是因为我们给body设置了一个固定的高度,解决办法就是把高度设置为auto(自适应)

1488779014637032171.png

1488779023512094203.png

稍微好看一点了,接下来,我要把body元素中所有的字体改成微软雅黑。

1488779103059047123.png

1488779147605045196.png

然后,给所有的元素来个居中显示:

1488779176527047007.png

1488779233434072177.png

现在,我又有一个需求,我希望把某些文字设置为不同的颜色,如何做呢?比如,我要把应季水果几个字变成粉红色。同学么,咋办?一个比较好的思路,就是专门用一个元素,把它包进去,比如:

1488779505199094000.png在这里,我们是不是只能用行内元素呀,因为如果我们用div,p等块级元素,那么是不是就要换行啦。虽然,我们可以给它设置dispaly:inline-block,或者inline,强制它不换行,可是那样的话,是不是很麻烦呀。所以,为什么不直接使用行内元素呢,比如说font。然后,我们可以给font绑定一个class属性。

1488779663809060722.png

然后在style元素中添加一个类选择器

1488779711496008955.png

刷新一下页面:

1488779733449033200.png

好像这个配色不太好看,那么我打开F12,选择这个font元素,重新配一个色(看好了,我就做这么一遍):

1488784757809084392.gif

然后,我们把颜色复制过来:

1488784781746040109.png

刷新页面:

1488784849902049768.png

这个就叫做配色,我们也可以给body重新配色:

1488784945277056368.gif

就是这么简单。


http://chatgpt.dhexx.cn/article/CWLZr8Kl.shtml

相关文章

HTML写一个简单网页

最近学习了一点HTML,闲来无事写个网页看看, 欢迎、改进、留言。 演示地点:跳转到演示地点 一、初始化页面 body,button,dd,dl, dt,form, h1, h2, h3, h4, h5, h6, hr, input, legend, li, ol, p, pre, td, textarea, th, ul,a,div,span {m…

HTML-01-最简单的网页

一、(1) 首先,新建一个文本文档 (2)完成后,在里面输入你想写入的内容 (3)最后,把文件拓展名改为html,更改之后,我们会发现文本图标会变成浏览器的…

如何用html制作一个简单的网页

哈喽,大家好!我是小张。大家在浏览网页的时候有没有好奇过这个网页是怎么制作,其实只是制作一个简单的网页是很简单的。今天我就教一下大家如何用HTML制作一个简单的网页。 了解html 1. 学习html之前先要知道html是什么 HTML的全称为超文本标…

制作一个简单的网页(入门篇)

使用HTML和CSS来制作一个简单的网页 前言一、HTML1.1常见元素介绍1.2借助工具,浏览器开发者工具 二、实现个人名片1.基本框架2.使用CSS美化1.CSS书写位置1、以元素的style 属性来指定 (内联样式)2、以style 标签包裹 (内部样式&am…

一个简单的HTML网页

一个简单的HTML网页&#xff0c;这是朋友写的&#xff0c;里面没有什么内容的&#xff0c;和大家分享一下&#xff0c;不喜勿喷。 先看下效果图 这里的登录和注册都是没有实际功能的&#xff0c;只是一个样式 下面来看看代码 登录 <!DOCTYPE html> <html><h…

return的使用方法

这里是修真院前端小课堂&#xff0c;每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能&#xff0c;本篇分享的是&#xff1a; 【return的使用方法 】 今天给大家分享一下&am…

if中return的用法

C#编程中&#xff0c;在if语句中&#xff0c;使用return语句&#xff0c;用于退出该if语句所在类的所在方法。例如程序&#xff1a; namespace RETU {class Program{static void Main(string[] args){IFR ifr new IFR();ifr.Kan();//Console.Read();}}class IFR{public stati…

【Java SE】return的用法(快速扫盲)

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 前言 1.定义 2.return的用法 3.break和retur…

python中 return 的用法

# 说明&#xff1a; 1&#xff0c;return 语句后面跟的表达式可以省略&#xff0c;省略后相当于 &#xff08;返回&#xff09;return None # 2&#xff0c;如果函数没有retur…

Java中return的两种用法

一、return语句总是用在方法中&#xff0c;有两个作用。 一个是返回方法指定类型的值&#xff08;这个值总是确定的&#xff09;。 一个是结束方法的执行&#xff08;仅仅一个return语句&#xff09;。 一般的就百是用在有反回值的方法中&#xff0c;用来返回方度法指定问类…

return的四种用法

return的四种用法 &#xff08;1&#xff09;return跳出函数 def num1():print(欢迎练习return !)print(hello!) num1() #跳出函数&#xff1a; def num1():print(欢迎练习return !)returnprint(hello!) num1()(2)return从函数返回一个值&#xff0c;并且这个值可以赋值给他变…

C语言中return的各种用法

按初学的理解&#xff0c;return的任务就是返回对应的参数&#xff0c;在外层函数中对这个参数做进一步处理。 实际上return的用法不只这些。 为调用的函数返回参数值 此类应用最为普遍&#xff0c;通常是在一个具有返回值的函数中&#xff0c;返回一个参数值&#xff0c;这个返…

个人公众号,多谢关注

个人公众号,多谢关注!

Java用BufferedImage处理图片实例

最近&#xff0c;项目中需要对图片进行处理。实现的方式当然有很多种&#xff0c;这里&#xff0c;我使用了Java的BufferedImage进行了实现。由于对图片的不熟悉&#xff0c;实现的时候费了点儿劲&#xff0c;这里记录一下&#xff0c;以备后用。 场景描述&#xff1a;其实问题…

彻底理解ThreadLocal、ITL、TTL

懒人改变了世界,简化了世界,却隐瞒了世界的真相. 大家好,今天跟大家剖析一下ThreadLocal. 文章目录 痛苦的回忆抛几个问题前奏铺垫正片详解 痛苦的回忆 不知道大家有没有面向JDBC编程的经历.如果有的话,可以回想一下那是一种怎样的体验;如果没有,也可以假装有这样的经历,然…

【转】线上内存溢出分析

状况描述&#xff1a; 最近项目新打的版本&#xff0c;过不了多长时间&#xff0c;项目就会挂掉。状况就是处于一种假死的状态。索引查询都很慢&#xff0c;几乎进行不了任何操作&#xff0c;慢慢卡死。 然后我们再发版时&#xff0c;只能基于之前打好的war包&#xff0c;替换或…

SQL Server数据库基础的级联删除、级联更新与三层架构之窥

一、定义&#xff1a; 级联删除是指删除包含主键值的行的操作&#xff0c;该值由其它表的现有行中的外键引用。在级联删除中&#xff0c;还删除其外键值引用删除的主键值的所有行。 级联更新是指更新主键值的操作&#xff0c;该值由其它表的现有行中的外键引用。在级联更新中&a…

正则表达式

正则表达式简介&#xff1a; 正则表达式是对字符串操作的一种逻辑公式&#xff0c;就是用事先定义好的一些特定字符、及这些特定字符的组合&#xff0c;组成一个“规则字符串”&#xff0c;这个“规则字符串”用来表达对字符串的一种过滤逻辑。   给定一个正则表达式和另一个…

SQL Server2005中触发器的运用

编写过存储过程的人&#xff0c;再编写触发器时会发现&#xff1a;他们的语法、格式是非常类似的。其实触发器就是一种特殊类型的存储过程。他们都是预编译的&#xff0c;在程序正式编译前就由编译器进行编译&#xff0c;存储在服务器端。 不过&#xff0c;触发器与一般的存储过…

关于SimpleDateFormat安全的时间格式化线程安全问题

关于SimpleDateFormat安全的时间格式化线程安全问题 2014年02月18日 16:19:40 zxh87 阅读数&#xff1a;34426 想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类&#xff0c;该类用来对日期字符串进行解析和格式化输出&#xff0c;但如果使用…