• HTML && CSS


    目录

    1. 什么是HTML

    2. 什么是CSS ?

    3. 基础标签 & 样式

    3.1 新浪新闻-标题实现

    3.1.1 标题排版

    3.1.1.1 分析

    3.1.1.2 标签

    3.1.1.3 实现

    3.1.2 标题样式

    3.1.2.1 CSS引入方式

    3.1.2.2 颜色表示

    3.1.2.3 标题字体颜色

    3.1.2.4 CSS选择器

    3.1.2.5 发布时间字体颜色

    3.1.3 超链接

    3.1.3.1 介绍

    3.1.3.2 实现

    3.2 新浪新闻-正文实现

    3.2.1 正文排版

    3.2.1.1 分析

    3.2.1.2 标签

    3.2.1.3 实现

    3.2.2 页面布局

    3.2.2.1 盒子模型

    3.2.2.2 布局标签

    3.2.2.3 盒子模型代码

    3.2.2.3 布局实现

    4. 表格标签

    5 表单标签

    5.1 表单

    5.1.1 介绍

    5.1.2 演示

    5.1.3 注意事项

    5.2 表单项

    5.2.1 介绍

    5.2.2 演示

    6. 文档查阅


    1. 什么是HTML

    HTML: HyperText Markup Language,超文本标记语言。

    下面展示的是一段html代码经过浏览器解析,呈现的效果如右图所示:

    2. 什么是CSS ?

    CSS: Cascading Style Sheet,层叠样式表,用于控制页面的样式(表现)。

    下面展示的是一段 html代码 及 CSS样式 经过浏览器解析,呈现的效果如右图所示:

    3. 基础标签 & 样式

    那我们在讲解HTML的常见基础标签 及 CSS的基本样式时,我们就以 新浪新闻页面 为例,来进行讲解,这样大家不仅能够知道 常见标签及样式的作用,还能够知道具体的应用场景。

    新浪新闻的具体页面效果如下:

    原始页面网址:https://news.sina.com.cn/gov/xlxw/2023-03-03/doc-imyipzuy7321600.shtml

    而对于这个新浪新闻的页面来说,核心内容分为两个部分,如下:

    • 新浪新闻-标题部分

    • 新浪新闻-正文部分

    3.1 新浪新闻-标题实现

    3.1.1 标题排版
    3.1.1.1 分析

    1). 第一部分,是一张图片,需要用到HTML中的图片标签 来实现。

    2). 第二部分,是一个标题,需要用到HTML中的标题标签

    ...

    来实现。

    3). 第三部分,有两条水平分割线,需要用到HTML中的


    标签来定义水平分割线。

    3.1.1.2 标签

    1). 图片标签 img

    A. 图片标签: 
    ​
    B. 常见属性: 
        src: 指定图像的url (可以指定 绝对路径 , 也可以指定 相对路径)
        width: 图像的宽度 (像素 / 百分比 , 相对于父元素的百分比)
        height: 图像的高度 (像素 / 百分比 , 相对于父元素的百分比)
        
        备注: 一般width 和 height 我们只会指定一个,另外一个会自动的等比例缩放。
        
    C. 路径书写方式:
        绝对路径:
            1. 绝对磁盘路径: C:\Users\Administrator\Desktop\HTML\img\news_logo.png
                           
    ​
            2. 绝对网络路径: https://i2.sinaimg.cn/dy/deco/2012/0613/yocc20120613img01/news_logo.png
                           
        
        相对路径:
            ./ : 当前目录 , ./ 可以省略的
            ../: 上一级目录

    2). 标题标签 h 系列

    A. 标题标签: 

    -

       

    111111111111

    111111111111

    111111111111

    111111111111

    111111111111
    111111111111
    B. 效果 : h1为一级标题,字体也是最大的 ; h6为六级标题,字体是最小的。

    3). 水平分页线标签


    3.1.1.3 实现

    1). 打开VsCode,选择左侧最底部的 "资源管理器",然后选择打开文件夹,选择打开桌面的 HTML 文件夹

    2). 将资料中提供的 图片、音频、视频 文件夹的这三个文件夹(里面是图片、音视频素材),复制到 HTML 文件夹中。

    3). 在VsCode中创建一个新的 html 文件,文件的后缀名设置为 .html

    4). html 文件创建好之后,在其中输入 !,然后直接回车,就可以生成 HTML 的基础结构标签

    5). 编写标题排版的核心代码

    
    
    
    
        
        
        
        
        
        焦点访谈:中国底气 新思想夯实大国粮仓
    
    
        
         新浪政务 > 正文
    ​
        

    焦点访谈:中国底气 新思想夯实大国粮仓

           
      2023年03月02日 21:50 央视网    

    3.1.2 标题样式

    新浪新闻的标题部分的基本排版,我们已经完成了,然后大家会看到,我们编写的一级标题,默认字体颜色为纯黑色。 而原始的新浪新闻页面的新闻标题字体,并不是纯黑色,而是灰黑色, 那接下来,我们就要来设置这个字体的颜色。 而要设置这个字体的颜色,我们就需要通过CSS样式来控制 。

    那在HTML的文件中,我们如何来编写CSS样式呢,此时就涉及到CSS的三种引入方式。

    3.1.2.1 CSS引入方式

    具体有3种引入方式,语法如下表格所示:

    名称语法描述示例
    行内样式在标签内使用style属性,属性值是css属性键值对

    中国新闻网

    内嵌样式定义
    外联样式定义标签,通过href属性引入外部css文件

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

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

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

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

    3.1.2.2 颜色表示

    在前端程序开发中,颜色的表示方式常见的有如下三种:

    表示方式表示含义取值
    关键字预定义的颜色名red、green、blue...
    rgb表示法红绿蓝三原色,每项取值范围:0-255rgb(0,0,0)、rgb(255,255,255)、rgb(255,0,0)
    十六进制表示法#开头,将数字转换成十六进制表示#000000、#ff0000、#cccccc,简写:#000、#ccc

    3.1.2.3 标题字体颜色
    
    
    
        
        
        
        焦X访谈:XXXX
        
        
    ​
        
        
    
    
         XXXX > 正文
    ​
        
        
        
        

    焦X访谈:XXXX

    ​    
      2023年03月02日 21:50 XXX    

    备注: 要想拾取某一个网页中的颜色,我们可以借助于浏览器的拾色器插件来完成。【拾色器插件的安装,参照资料中提供的文档即可】

    3.1.2.4 CSS选择器

    顾名思义:选择器是选取需设置样式的元素(标签),但是我们根据业务场景不同,选择的标签的需求也是多种多样的,所以选择器有很多种,因为我们是做后台开发的,所以对于css选择器,我们只学习最基本的3种。

    选择器通用语法如下

    选择器名   {
        css样式名:css样式值;
        css样式名:css样式值;
    }

    我们需要学习的3种选择器是元素选择器,id选择器,class选择器,语法以及作用如下:

    1.元素(标签)选择器:

    • 选择器的名字必须是标签的名字

    • 作用:选择器中的样式会作用于所有同名的标签上

    元素名称 {
        css样式名:css样式值;
    }

    例子如下:

     div{
         color: red;
     }

    2.id选择器:

    • 选择器的名字前面需要加上#

    • 作用:选择器中的样式会作用于指定id的标签上,而且有且只有一个标签(由于id是唯一的)

    #id属性值 {
        css样式名:css样式值;
    }

    例子如下:

    #did {
        color: blue;
    }

    3.类选择器:

    • 选择器的名字前面需要加上 .

    • 作用:选择器中的样式会作用于所有class的属性值和该名字一样的标签上,可以是多个

    .class属性值 {
        css样式名:css样式值;
    }

    例子如下:

    .cls{
         color: green;
     }

    优先级:

    id选择器(#)>类选择器(.)>标签选择器( )

    3.1.2.5 发布时间字体颜色
    
    
    
        
        
        
        焦X访谈:XXXX
        
    
    
    
         XXXX > 正文
    
        

    焦X访谈:XXXX


    2023年03月02日 21:50 央视网

    上述我们还使用了一个css的属性 font-size , 用来设置字体的大小。 但是需要注意,在设置字体的大小时,单位px不能省略,否则不生效。

    3.1.3 超链接

    那接下来,我们就来完善新闻标题部分的这个功能,那此时呢,我们就需要用到HTML中的超链接的标签 。

    3.1.3.1 介绍
    • 标签: 央视网

    • 属性:

      • href: 指定资源访问的url

      • target: 指定在何处打开资源链接

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

        • _blank: 在空白页面打开

    3.1.3.2 实现
    
    
    
        
        
        
        焦X访谈:XXXX
        
    
    
    
         XXXX  > 正文
    
        

    焦X访谈:XXXX


    2023年03月02日 21:50 XXX

    浏览器打开此页面,我们可以看到最终效果(超链接的字体,以及默认的下划线,通过css样式已经调整好了):

    3.2 新浪新闻-正文实现

    3.2.1 正文排版
    3.2.1.1 分析

    整个正文部分的排版,主要分为这么四个部分:

    1). 视频 (当前这种新闻页面,可能也会存在音频)

    2). 文字段落

    3). 字体加粗

    4). 图片

    3.2.1.2 标签

    1). 视频、音频标签

    • 视频标签:

      • 属性:

        • src: 规定视频的url

        • controls: 显示播放控件

        • width: 播放器的宽度

        • height: 播放器的高度

    • 音频标签:

      • 属性:

        • src: 规定音频的url

        • controls: 显示播放控件

    2). 段落标签

    • 换行标签:

      • 注意: 在HTML页面中,我们在编辑器中通过回车实现的换行, 仅仅在文本编辑器中会看到换行效果, 浏览器是不会解析的, HTML中换行需要通过br标签

    • 段落标签:

      • 如:

        这是一个段落

    3). 文本格式标签

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

    前面的标签 b、i、u、s 就仅仅是实现加粗、倾斜、下划线、删除线的效果,是没有强调语义的。 而后面的strong、em、ins、del在实现加粗、倾斜、下划线、删除线的效果的同时,还带有强调语义。

    3.2.1.3 实现
    
    
    
        
        
        
        焦X访谈:XXXX
        
    
    
    
        
         新浪政务  > 正文
    
        

    焦X访谈:XXXX


    2023年03月02日 21:50 央视网

    XXX消息 (XXXX)

    XXXX

    XXXX

    XXXX

    XXXX XXX

    在上述的正文排版实现中,还用到了几个CSS属性:

    • text-indent: 设置段落的首行缩进

    • line-height: 设置行高

    • text-align: 设置对齐方式, 可取值为 left / center / right

    注意事项:

    • 在HTML页面中无论输入了多少个空格, 最多只会显示一个。 可以使用空格占位符( ;)来生成空格,如果需要多个空格,就使用多次占位符。

    • 那在HTML中,除了空格占位符以外,还有一些其他的占位符(了解, 只需要知道空格的占位符写法即可),如下:

      • 显示结果描述占位符
        空格 
        <小于号<
        >大于号>
        &和号&
        "引号"
        '撇号'

    3.2.2 页面布局

    目前,新闻页面的基本排版,我们都已经完成了,但是,大家会看到,无论是标题部分,还是正文部分,都是铺满了整个浏览器。 而我们再来看看新浪新闻的原始页面,我们会看到新闻网页内容都是居中展示的,左边、右边都是一定的边距的。

    那接下来呢,我们就需要按照这个效果,来完成页面布局。 而要想完成这样一个页面布局,我们就需要介绍一下CSS中的盒子模型 。

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

    • 盒子模型组成:内容区域(content)、内边距区域(padding)、边框区域(border)、外边距区域(margin)

    CSS盒子模型,其实和日常生活中的包装盒是非常类似的,就比如:

    盒子的大小,其实就包括三个部分: border、padding、content,而margin外边距是不包括在盒子之内的。

    3.2.2.2 布局标签
    • 布局标签:实际开发网页中,会大量频繁的使用 div 和 span 这两个没有语义的布局标签。

    • 标签:

    • 特点:

      • div标签:

        • 一行只显示一个(独占一行)

        • 宽度默认是父元素的宽度,高度默认由内容撑开

        • 可以设置宽高(width、height)

      • span标签:

        • 一行可以显示多个

        • 宽度和高度默认由内容撑开

        • 不可以设置宽高(width、height)

    测试:

    
        
    A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
    A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
    A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A

    浏览器打开后的效果:

    1). div会独占一行,默认宽度为父元素 body 的宽度

    2). span一行会显示多个,用来组合行内元素,默认宽度为内容撑开的宽度

    3.2.2.3 盒子模型代码

    代码如下:

    
    
    
        
        
        
        盒子模型
        
    
    
    
        
        
    A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A

    代码编写好了, 可以通过浏览器打开该页面, 通过开发者工具,我们就可以看到盒子的大小, 以及盒子各个组成部分(内容、内边距、边框、外边距):

    我们也可以,通过浏览器的开发者工具,清晰的看到这个盒子,以及每一个部分的大小:

    3.2.2.3 布局实现

    在实现新闻页面的布局时,我们需要做两部操作:

    • 第一步:需要将body中的新闻标题部分、正文部分使用一个 div 布局标签将其包裹起来,方便通过css设置内容占用的宽度,比如:65%。

    • 第二步:通过css为该div设置外边距,左右的外边距分别为:17.5%,上下外边距靠边展示即可,为:0%。

    具体的代码实现如下:

    
    
    
        
        
        
        焦X访谈:XXXXX
        
    
    
        
        
    新浪政务 > 正文

    焦X访谈:XXXX


    2023年03月02日 21:50 XXX

    XXX消息 (XXXX)

    XXXX

    XXXX

    XXXX

    XXXX XXX

    浏览器打开此页面,最终效果如下:

    4. 表格标签

    场景:在网页中以表格(行、列)形式整齐展示数据,我们在一些管理类的系统中,会看到数据通常都是以表格的形式呈现出来的,比如:班级表、学生表、课程表、成绩表等等。

    标签: