当前位置:   article > 正文

【Day 1】HTML 与 CSS

【Day 1】HTML 与 CSS

1 前端

网站的工作流程:

  1. 首先我们需要通过浏览器访问发布到前端服务器中的前端程序,这时候前端程序会将前端代码返回给浏览器
  2. 浏览器得到前端代码,此时浏览器会将前端代码进行解析,然后展示到浏览器的窗口中,这时候我们就看到了网站页面
  3. 但是此时这个页面是没有数据的,因为数据在我们的数据库中,所以我们浏览器需要根据前端代码中指定的后台服务器的地址 向我们的后台服务器(内部有java程序)发起请求,后台服务器再去从数据库中获取数据,然后返回给浏览器
  4. 浏览器拿到后台返回的数据后,然后将数据展示在前端资源也就是网页上,然后我们就看到了完整的内容

        Web标准也称为网页标准,由一系列的标准组成,大部分由W3C( World Wide Web Consortium,万维网联盟)负责制定。由三个组成部分

  • HTML:负责网页的结构(页面元素和内容)
  • CSS:负责网页的表现(页面元素的外观、位置等页面样式,如:颜色、大小等)
  • JavaScript:负责网页的行为(交互效果)

常用前端技术:

技术描述
HTML用于构建网站的基础结构的
css用于美化页面的,作用和化妆或者整容作用一样
JavaScript实现网页和用户的交互
Vue主要用于将数据填充到html页面上的
Element主要提供了一些非常美观的组件
Nginx一款web服务器软件,可以用于部署我们的前端工程

2 HTML 介绍

HTML (HyperText Markup Language) 超文本标记语言。

  • 超文本:超越了文本的限制,比普通文本更强大。除了文字信息,还可以定义图片、音频、视频等内容。
  • 标记语言:由标签构成的语言
  1. HTML标签都是预定义好的。例如:使用<a>展示超链接,使用<img>展示图片,<video>展示视频
  2. HTML代码直接在浏览器中运行,HTML标签由浏览器解析

HTML结构

  1. <html>
  2. <head>
  3. <title>标题</title>
  4. </head>
  5. <body>
  6. </body>
  7. </html>

HTML 特点

  1. HTML标签不区分大小写
  2. HTML标签属性值单双引号都可以
  3. HTML语法松散

2.1 HTML 仿写新浪微博标题排版

例子:

分析:

        图片、h1标题,水平线

使用标签:

        <img>、<h1>、<hr>

  1. <!-- 文档类型为 HTML -->
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <!-- 字符集为 UTF-8 -->
  6. <meta charset="UTF-8">
  7. <!-- 浏览器的兼容性 -->
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  9. <title>焦点访谈:某国底气 新思想夯实大国粮仓</title>
  10. </head>
  11. <body>
  12. <!--
  13. img标签的属性:
  14. src 图片的路径
  15. alt 如果由于某种原因无法显示图像,则指定图像的替代文本
  16. width 宽度(单位:像素px 或者 % 相对父元素的百分比)
  17. height 高度(单位:像素px 或者 % 相对父元素的百分比)
  18. 一般只设置一个,会等比例缩放
  19. 路径:
  20. 绝对路径:
  21. 1.绝对磁盘路径:D:\HTML\SinaNews\img\news_logo.png
  22. 2.绝对网络路径:https://i2.sinaimg.cn/dy/deco/2012/0613/yocc20120613img01/news_logo.png
  23. 相对路径:
  24. ./ 当前目录(可省略)
  25. ../ 上一级目录(不可省略)
  26. 第一种 ./img/news_logo.png 或者 img/news_logo.png
  27. -->
  28. <img src="./img/news_logo.png" alt="can't open this picture"> 新浪政务>正文
  29. <h1>焦点访谈:某国底气 新思想夯实大国粮仓</h1>
  30. <hr>
  31. 2023年03月02日 21:50 央视网
  32. <hr>
  33. </body>
  34. </html>

效果:

比较原版:

可以发现,基本的结构相同,但是字体和颜色不太一样,所以需要用负责网页表现的 CSS

3 CSS 介绍

        CSS 的全称是层叠样式表(Cascading Style Sheets)。CSS 是一种用来控制网页样式和布局的标记语言

CSS的引入方式

  • 行内样式:写在标签的style属性中(不推荐)

        <h1 style="xxx:xxx;">某国新闻网</h1>

  • 内嵌样式:写在style标签中(可以写在页面任何位置,但通常约定写在head标签中,全局有效)

        <style> h1 {...} </style>

  • 外联样式:写在一个单独的.css文件中(需要通过 link 标签在网页中引入)

        <link rel="stylesheet" href="css/news.css">

        rel 关系(relationship)

        href 超文本引用(Hypertext Reference)

        

对于上述3种引入方式,企业开发的使用情况如下:

  1. 内联样式会出现大量的代码冗余,不方便后期的维护,所以不常用。

  2. 内部样式,通过定义css选择器,让样式作用于当前页面的指定的标签上。

  3. 外部样式,html和css实现了完全的分离,企业开发常用方式。

3.1 CSS 添加样式

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>焦点访谈:某国底气 新思想夯实大国粮仓</title>
  7. <!-- 方式二:内嵌样式 -->
  8. <style>
  9. h1 {
  10. color: #4D4F53;
  11. }
  12. span {
  13. color: #968D92;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <img src="./img/news_logo.png" alt="can't open this picture"> 新浪政务>正文
  19. <!-- 方式一:行内样式 -->
  20. <!-- <h1 style="color:red;">焦点访谈:某国底气 新思想夯实大国粮仓</h1> -->
  21. <!-- 方式三:外联样式 -->
  22. <!-- <link rel="stylesheet" href="CSS/sinaNewsCss.css"> -->
  23. <!-- <h1>焦点访谈:某国底气 新思想夯实大国粮仓</h1> -->
  24. <h1>焦点访谈:某国底气 新思想夯实大国粮仓</h1>
  25. <hr>
  26. 2023年03月02日 21:50 央视网
  27. <hr>
  28. </body>
  29. </html>

同时,在CSS文件中

  1. h1{
  2. color: #4D4F53;
  3. }

效果:

改变了标题颜色

现在对 "2023年03月02日 21:50 央视网" 进行修改,只要改变时间的颜色,而不改变央视网的颜色

引入一个没有语义的标签 span 

在head标签里面规定样式:

  1. <style>
  2. h1 {
  3. color: #4D4F53;
  4. }
  5. span {
  6. color: #968D92;
  7. }
  8. </style>
  1. <hr>
  2. <!-- 没有语义的标签 span (没有效果,文字在一行) -->
  3. <span>2023年03月02日 21:50</span> <span>央视网</span>
  4. <hr>

这样做,发现两个都改变了,因为他们都在 span 标签里,此时需要用到 CSS 选择器

3.2 CSS 选择器

CSS选择器:用来选取需要设置样式的元素(标签)

  • 元素选择器
  • id 选择器
  • 类选择器

  1. <head>
  2. <style>
  3. .cls{
  4. color: #968D92;
  5. } */
  6. #time{
  7. color: #968D92;
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <span class="cls" id="time">2023年03月02日 21:50</span> <span>央视网</span>
  13. </body>

 类选择器和 id 选择器二者取其一即可形成下面的效果:

而且,三个选择器有 优先级

优先级高到低依次为:

id 选择器、类选择器、元素选择器

3.3 字体 font

字体大小 font-size

  1. #time{
  2. color: #968D92;
  3. font-size: 13px;
  4. }

4 超链接

标签:

        <a href="..." target=''..."> 央视网</a>

属性:

        href (Hypertext Reference):指定资源访问的 URL

        target:指定在何处打开超链接

                _self:默认值,在当前页面打开

                _blank:在空白页打开

<span class="cls" id="time">2023年03月02日 21:50</span> <span><a href="http://news.cctv.com/2023/03/02/ARTIUCKFf9kE9eXgYE46ugx3230302.shtml" target="_blank" >央视网</a> </span>

这样就形成了超链接,而且是新开一个空白页打开超链接

但是有下划线并且变成了紫色,现在去把超链接的字体变成默认黑色,并且去除下划线:

使用 CSS 属性 text-decoration(文本装饰)

在 style 标签里:

  1. a{
  2. color: black;
  3. text-decoration: initial; /*设置默认文本装饰*/
  4. }

变成这样,但是还是可以点击

5 正文排版

5.1 视频标签

<video src="..." controls width="..." height="...">

属性:

  • src:视频的URL
  • controls:播放控件(写 controls="controls" ,但是如果属性和值相等,就省略为属性名)
  • width:播放器的宽度,通常宽度和高度二者写一个

5.2 音频标签

<audio src="..." controls>

属性:同视频

5.3 段落标签和文本加粗标签

段落标签

<p>

文本加粗标签

<b> 或 <strong>

文本格式标签

效果标签标签(强调)
加粗bstrong
倾斜iem
下划线uins
删除线sdel

 5.4 正文

  1. <!-- 正文 -->
  2. <video src="video/1.mp4" controls width="900px"></video>
  3. <audio src="audio/1.mp3" controls></audio>
  4. <p><b>央视网消息</b>(焦点访谈):d的十八大以来,以...同志为核心的dzy始终把解决粮食安全问题作为治国理政的头等大事,重农抓粮一系列政策举措有力有效,我国粮食产量站稳1.3万亿斤台阶,实现谷物基本自给、口粮绝对安全。我们把饭碗牢牢端在自己手中,为保障经济社会发展提供了坚实支撑,为应对各种风险挑战赢得了主动。连续八年1.3万亿斤,这个沉甸甸的数据是如何取得的呢?</p>
  5. <p>人勤春来早,春耕农事忙。立春之后,由南到北,某国春耕春管工作陆续展开,春天的田野处处生机盎然。</p>
  6. <img src="img/1.jpg">
  7. <p>今年,某国启动了新一轮千亿斤粮食产能提升行动,这是一个新的起点。2015年以来,某国粮食产量连续8年稳定在1.3万亿斤以上,人均粮食占有量始终稳稳高于国际公认的400公斤粮食安全线。从十年前的约12200亿斤到2022年的约13700亿斤,粮食产量提高了1500亿斤。</p>
  8. <img src="img/2.jpg">
  9. <p>某国式现代化一个重要的某国特色是人口规模巨大的现代化。我们粮食生产的发展,意味着我们要立足国内,解决14亿多人吃饭的问题。仓廪实,天下安。保障粮食安全是一个永恒的课题,任何时候都不能放松。在以...同志为核心的dzy坚强领导下,亿万某国人民辛勤耕耘、不懈奋斗,我们就一定能够牢牢守住粮食安全这一“国之大者”,把某国人的饭碗牢牢端在自己手中,夯实某国式现代化基础。</p>
  10. <p id="plast">责任编辑:王树淼 SN242</p>

CSS样式

  1. p{
  2. text-indent: 40px; /*设置首行缩进 */
  3. line-height: 35px; /*设置行高*/
  4. }
  5. #plast{
  6. text-align: right;
  7. }

 属性:

  • text-indent:首行缩进
  • line-height:行高
  • text-align:对齐方式(left,right,center)

效果:

6 布局

现在布局是默认布局,比较难看,而不像:

6.1 CSS 盒子模型

        盒子:页面中所有的元素(标签),都可以看做是一个盒子,由盒子将页面中的元素包含在一个矩形区域内,通过盒子的视角更方便的进行页面布局

盒子模型组成:

  • 内容区域(content)
  • 内边距区域(padding)
  • 边框区域(border)
  • 外边距区域(margin)(不属于盒子)

CSS 布局标签:

<div>

 特点:

  • 单行显示
  • 宽度默认是父元素宽度,高度默认由内容决定
  • 可以设置宽度、高度

<span>

特点:

  • 多行显示
  • 宽度和高度默认由内容决定
  • 不可以设置宽度、高度

6.2 div

用 div 把所有都圈起来,并且给个 id

  1. <body>
  2. <div id="center">
  3. <img src="./img/news_logo.png" alt="can't open this picture"> <a href="http://gov.sina.com.cn"
  4. target="_blank">新浪政务</a>>正文
  5. <!-- 方式一:行内样式 -->
  6. <!-- <h1 style="color:red;">焦点访谈:.国底气 新思想夯实大国粮仓</h1> -->
  7. <!-- 方式三:外联样式 -->
  8. <!-- <link rel="stylesheet" href="CSS/sinaNewsCss.css"> -->
  9. <!-- <h1>焦点访谈:某国底气 新思想夯实大国粮仓</h1> -->
  10. <h1>焦点访谈:某国底气 新思想夯实大国粮仓</h1>
  11. <hr>
  12. <!-- 没有语义的标签 span (没有效果,文字在一行) -->
  13. <span class="cls" id="time">2023年03月02日 21:50</span> <span><a
  14. href="http://news.cctv.com/2023/03/02/ARTIUCKFf9kE9eXgYE46ugx3230302.shtml" target="_blank"
  15. rel="noopener noreferrer">央视网</a> </span>
  16. <hr>
  17. <!-- 正文 -->
  18. <video src="video/1.mp4" controls width="900px"></video>
  19. <br>
  20. <audio src="audio/1.mp3" controls></audio>
  21. <p><b>央视网消息</b>(焦点访谈):.的十八大以来,以...同志为核心的...始终把解决粮食安全问题作为治国理政的头等大事,重农抓粮一系列政策举措有力有效,我国粮食产量站稳1.3万亿斤台阶,实现谷物基本自给、口粮绝对安全。我们把饭碗牢牢端在自己手中,为保障经济社会发展提供了坚实支撑,为应对各种风险挑战赢得了主动。连续八年1.3万亿斤,这个沉甸甸的数据是如何取得的呢?
  22. </p>
  23. <p>人勤春来早,春耕农事忙。立春之后,由南到北,我国春耕春管工作陆续展开,春天的田野处处生机盎然。</p>
  24. <img src="img/1.jpg">
  25. <p>今年,我国启动了新一轮千亿斤粮食产能提升行动,这是一个新的起点。2015年以来,我国粮食产量连续8年稳定在1.3万亿斤以上,人均粮食占有量始终稳稳高于国际公认的400公斤粮食安全线。从十年前的约12200亿斤到2022年的约13700亿斤,粮食产量提高了1500亿斤。
  26. </p>
  27. <img src="img/2.jpg">
  28. <p>某国式现代化一个重要的某国特色是人口规模巨大的现代化。我们粮食生产的发展,意味着我们要立足国内,解决14亿多人吃饭的问题。仓廪实,天下安。保障粮食安全是一个永恒的课题,任何时候都不能放松。在以...同志为核心的...坚强领导下,亿万.国人民辛勤耕耘、不懈奋斗,我们就一定能够牢牢守住粮食安全这一“国之大者”,把.国人的饭碗牢牢端在自己手中,夯实.国式现代化基础。
  29. </p>
  30. <p id="plast">责任编辑:王树淼 SN242</p>
  31. </div>
  32. </body>

 CSS 样式:

  1. #center{
  2. width: 65%;
  3. /* margin: 0% 17.5% 0% 17.5%; 设置外边距 100-65=35 35/2=17.5 */
  4. margin: 0 auto; /* 等价 */
  5. }

这样就居中显示了(图片违规,但是已经居中了)

7 HTML 表格、表单标签

7.1 表格标签

在网页中以表格(行、列)形式整齐展示数据

标签:

做一个表格:

  1. <body>
  2. <!-- <table border="1px"> 已经弃用-->
  3. <table>
  4. <tr>
  5. <th>序号</th>
  6. <th>品牌Logo</th>
  7. <th>品牌名称</th>
  8. <th>企业名称</th>
  9. </tr>
  10. <tr>
  11. <td>1</td>
  12. <td><img src="img/huawei.jpg" width="80px" /></td>
  13. <td>华为</td>
  14. <td>华为技术有限公司</td>
  15. </tr>
  16. <tr>
  17. <td>2</td>
  18. <td><img src="img/alibaba.jpg" width="80px"></td>
  19. <td>阿里巴巴</td>
  20. <td>阿里巴巴集团控股有限公司</td>
  21. </tr>
  22. </table>
  23. </body>

注:HTML5 废弃了 cellspacing 属性,而且不推荐在标签中安排样式,所以:

  1. <head>
  2. <meta charset="UTF-8">
  3. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  4. <title>HTML table</title>
  5. <style>
  6. table,th,td{
  7. border: 1px solid black;
  8. border-collapse: collapse; /*单元格合并,无空白 */
  9. /* border-collapse: separate; 独立显示,有空白 */
  10. }
  11. </style>
  12. </head>

7.2 表单标签

表单:在网页中主要负责数据采集功能,如 注册、登录等数据采集

标签:

<form>

每一行是“表单项”(不同类型的 input 元素、下拉列表、文本域等)

表单项标签:

input 标签

<intput>

下拉列表标签:

<select>

文本域标签:

<textarea>

属性:

  • action

表单提交的URL,如果不指定,默认提交到当前页面

  • method

发送表单数据的方式。GET、POST,如果不指定,默认是 get

get:在ur1后面拼接表单数据,比如:?username=Tom&age=12,url 长度有限制

post:在消息体(请求体)中传递的,参数大小无限制

  1. <body>
  2. <form action="" method="get">
  3. 用户名:<input type="text" name="username"/><br/>
  4. 年&nbsp&nbsp&nbsp龄:<input type="text" name="age"/><br/>
  5. <input type="submit" value="提交">
  6. </form>
  7. </body>

 注:input 中的 name,是要提交字段的名字,type是类型,常见的类型如下:

效果:

 输入,然后提交,此时 URL 变成了:

如果把表单 method 改为 post,就会在消息体中传递


表单项除了 input 标签,还有 select 和 textarea

制作一个表单:

  1. <body>
  2. <form action="" method="post">
  3. 姓名:
  4. <input type="text" name="username"><br><br>
  5. 密码:
  6. <input type="password" name="password"><br><br>
  7. 性别:
  8. <input type="radio" name="gender" value="male" id="1">
  9. <label for="1"></label>
  10. <input type="radio" name="gender" value="female" id="2">
  11. <label for="2"></label><br><br>
  12. 爱好:
  13. <input type="checkbox" name="hobby" id="java">
  14. <label for="java">Java</label>
  15. <input type="checkbox" name="hobby" id="C">
  16. <label for="C">C</label>
  17. <input type="checkbox" name="hobby" id="py">
  18. <label for="py">Python</label><br><br>
  19. 上传文件:
  20. <input type="file" name="file"><br><br>
  21. 生日:
  22. <input type="date" name="date"><br><br>
  23. 邮箱:
  24. <input type="email" name="email"><br><br>
  25. 年龄:
  26. <input type="number" name="number"><br><br>
  27. 学历:
  28. <select name="degree">
  29. <option>-----请选择-----</option>
  30. <option value="1">本科</option>
  31. <option value="2">硕士</option>
  32. <option value="3">博士</option>
  33. </select><br><br>
  34. 备注:
  35. <textarea name="description" cols="30" rows="10"></textarea><br><br>
  36. <input type="button" value="按钮">
  37. <input type="reset" name="重置">
  38. <input type="submit" name="提交">
  39. </form>

注:name 用来标识元素

value 是提交表单时候的字段名

id 则是用于把 for 和元素关联

效果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/444678
推荐阅读
相关标签
  

闽ICP备14008679号