web阶段学习之HTML&CSS

本文主要介绍了HTML和CSS的基础知识,包括HTML的标签学习,如文件、文本、图片、列表、链接、块、语义化及表格标签,以及CSS的概念、结合HTML的方式和基本语法,如选择器、属性等,旨在帮助读者掌握网页开发的静态资源构建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

引言

HTML 

概述

入门

标签学习

文件标签

文本标签

图片标签

列表标签

链接标签

块标签

语义化标签

表格标签

表单标签

表单项标签

CSS

概念

CSS与html结合方式

内联样式

内部样式

外部样式

css语法

基础选择器

扩展选择器

属性


引言

在进行JavaWeb阶段的学习前,我们首先得了解是它干什么的;JavaWeb,使用Java语言开发基于互联网的项目。web前端,主要是给网站做静态页面的,也就是说你平时浏览的网站所看到的页面基本都出自web前端,不过网站版面可以是美工出图。今天,我们来学习关于HTML&CSS的内容。

我们首先来了解web的软件架构:

  • C/S: Client/Server 客户端/服务器端(在用户本地有一个客户端程序,在远程有一个服务器端程序)【优点】用户体验好【缺点】开发、安装、部署、维护 麻烦
  • B/S: Browser/Server 浏览器/服务器端(只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序)【优点】开发、安装、部署、维护 简单 【缺点】1. 如果应用过大,用户的体验可能会受到影响 2.对硬件要求过高

B/S架构详解:

【静态资源】

特点:

1.使用静态网页开发技术发布的资源、2.所有用户访问,得到的结果是一样的、3.如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器。浏览器中内置了静态资源的解析引擎,可以展示静态资源

HTML:用于搭建基础网页,展示页面的内容

CSS:用于美化页面,布局页面

JavaScript:控制页面的元素,让页面有一些动态的效果

【动态资源】特点:

1.使用动态网页及时发布的资源、2.所有用户访问,得到的结果可能不一样、3.如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器 (我们要学习动态资源,必须先学习静态资源)

HTML 


概述

html是最基础的网页开发语言-->Hyper Text Markup Language 超文本标记语言-->超文本:超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本-->标记语言:由标签构成的语言。<标签名称> 如 html,xml     标记语言不是编程语言。

入门

【语法】

html文档后缀名 .html 或者 .htm

【标签】

围堵标签:有开始标签和结束标签。如 <html> </html>

自闭和标签:开始标签和结束标签在一起。如 <br/>

嵌套标签:需要正确嵌套,不能你中有我,我中有你(eg:<a><b></b></a>)

【注意】

在开始标签中可以定义属性。属性是由键值对构成,值需要用引号(单双都可)

html的标签不区分大小写,但是建议使用小写

标签学习

文件标签

构成html最基本的标签;1.html:html文档的根标签、2.head:头标签。用于指定html文档的一些属性。引入外部的资源、3.title:标题标签、4.body:体标签、5.<!DOCTYPE html>:html5中定义该文档是html文档。

文本标签

和文本有关的标签;1. <h1> to <h6>:标题标签(h1~h6:字体大小逐渐递减)、2.<p>:段落标签、3.<br>:换行标签、4.<hr>:展示一条水平线(color:颜色、width:宽度、size:高度、align:对其方式、center:居中)

<!--hr 显示一条水平线-->
    <hr color="green" width="200" size="10" align="left"/>
    <hr>

5.<b>:字体加粗、6.<i>:字体斜体、7.<font>:字体标签(color:颜色、size:大小、face:字体)、8.<center>:文本居中

<!-- 字体标签 font-->
    <font color="red" size="5" face="楷体">春蚕到死丝方尽,蜡炬成灰泪始干。</font>
    <br>
    <font color="#F00FFF" size="5" face="楷体">春蚕到死丝方尽,蜡炬成灰泪始干。</font>

图片标签

img:展示图片; 属性:src:指定图片的位置; 相对路径:以.开头的路径(./:代表当前目录、../:代表上一级目录)

<!--展示一张图片 img/-->
    <img src="../image/jingxuan_2.jpg"/>
    <img src="../image/jingxuan_2.jpg" align="right" alt="古镇" width="500" height="500"/>

列表标签

有序列表:ol  li

<!-- 有序列表 ol-->
    早上起床干的事情:
    <ol type="A" START="5">
        <li>睁眼</li>
        <li>看手机</li>
        <li>穿衣服</li>
        <li>洗漱</li>
    </ol>

无序列表:ul  li

 <!-- 无序列表 ul-->
    早上起床干的事情:
    <ul type="disc">
        <li>睁眼</li>
        <li>看手机</li>
        <li>穿衣服</li>
        <li>洗漱</li>
    </ul>

链接标签

a:定义一个超链接;href:指定访问资源的URL(统一资源定位符)  target:指定打开资源的方式(_self:默认值,在当前页面打开、_blank:在空白页面打开)

<!--超链接 a-->
    <a href="http://www.itcast.cn">点我</a>
    <br>

    <a href="http://www.itcast.cn" target="_self">点我</a>
    <br>
    <a href="http://www.itcast.cn" target="_blank">点我</a>
    <br>

    <a href="./05_列表标签.html">列表标签</a>
    <br>
    <a href="mailto:itcast@itcast.cn">联系我们</a>
    <br>

    <a href="http://www.itcast.cn"><img src="../image/jiangwai_1.jpg"></a>

块标签

div和span;div:每一个div占满一整行,块级标签(自动换行)  span:文本信息在一行展示,行内标签 内联标签(不会自动换行)

<!--
        div:每一个div占满一整行,块级标签
        span:文本信息在一行展示,行内标签 内联标签
    -->
    <span>黑马程序员</span>
    <span>传智播客</span>
    <hr>

    <div>黑马程序员</div>
    <div>传智播客</div>

语义化标签

html5中为了提高程序的可读性,提供了一些标签(<header>:页眉、<footer>:页脚)

表格标签

1.table:定义表格(width:宽度、border:边框、cellpadding:定义内容和单元格的距离、cellspacing:定义单元格之间的距离。如果指定为0,则单元格的线会合为一条、bgcolor:背景色、align:对齐方式)

2.tr:定义行(bgcolor:背景色、align:对齐方式)  3.td:定义单元格(colspan:合并列、rowspan:合并行)  4.th:定义表头单元格  5.<caption>:表格标题   6.<thead>:表示表格的头部分   7.<tbody>:表示表格的体部分   8.<tfoot>:表示表格的脚部分

<table border="1" width="50%" cellpadding="0" cellspacing="0" bgcolor="gray" align="center">
        <thead>
            <caption>学生信息表</caption>
            <tr>
                <!--<td>编号</td>-->
                <!--<td>姓名</td>-->
                <!--<td>成绩</td>-->
                <th>编号</th>
                <th>姓名</th>
                <th>成绩</th>
            </tr>
        </thead>

        <tbody>
            <tr bgcolor="aqua" align="center">
                <td>1</td>
                <td>帅比华</td>
                <td>100</td>
            </tr>

            <tr>
                <td>2</td>
                <td>巴菌儿</td>
                <td>100</td>
            </tr>
        </tbody>

        <tfoot>
            <tr>
                <td>3</td>
                <td>乔巴儿</td>
                <td>100</td>
            </tr>
        </tfoot>
    </table>
    <hr>

表单标签

用于采集用户输入的数据的。用于和服务器进行交互;

form 用于定义表单的。可以定义一个范围,范围代表采集用户数据的范围。  属性(action:指定提交数据的UR、method:指定提交方式(一共7种,2种比较常用))

get:1. 请求参数会在地址栏中显示。会封装到请求行中  2. 请求参数大小是有限制的  3. 不太安全

post:1. 请求参数不会再地址栏中显示。会封装在请求体中  2. 请求参数的大小没有限制  3. 较为安全

<form action="#" method="post">
    用户名:<input name="username"><br>
    密码:<input name="password"><br>
    <input type="submit" value="登录">
    </form>

表单项标签

input:可以通过type属性值,改变元素展示的样式;

type属性:1.text:文本输入框,默认值  2.password:密码输入框  3.placeholder:指定输入框的提示信息,当输入框的内容发生变化,会自动清空提示信息  4.radio:单选框(1. 要想让多个单选框实现单选的效果,则多个单选框的name属性值必须一样、2. 一般会给每一个单选框提供value属性,指定其被选中后提交的值、3. checked属性,可以指定默认值)  5.checkbox:复选框(1. 一般会给每一个单选框提供value属性,指定其被选中后提交的值、2. checked属性,可以指定默认值)

<form action="#" method="get">
    <label for="username">用户名:</label><input type="text" name="username" placeholder="请输入用户名" id="username"><br>
    <label for="password">密码:</label><input type="password" name="password" placeholder="请输入密码" id="password"><br>
    性别:<input type="radio" name="gender" value="male" checked="checked"> 男
         <input type="radio" name="gender" value="female"> 女
    <br>
    爱好:<input type="checkbox" name="hobby" value="shopping"> 逛街
         <input type="checkbox" name="hobby" value="java" checked> java
         <input type="checkbox" name="hobby" value="game"> 游戏
    <br>
    <input type="submit" value="登录">

6.file:文件选择框  7.hidden:隐藏域,用于提交一些信息  8. 按钮:(submit:提交按钮。可以提交表单、button:普通按钮、image:图片提交按钮)  9.label:指定输入项的文字描述信息(注:abel的for属性一般会和 input 的 id属性值 对应。如果对应了,则点击label区域,会让input输入框获取焦点

图片:<input type="file" name="file">
    隐藏域:<input type="hidden" name="id" value="aa">
    <br>
    取色器:<input type="color" name="color">
    <br>
    生日:<input type="date" name="birthday">
    <br>
    生日:<input type="datetime-local" name="birthday">
    <br>
    邮箱:<input type="email" name="email">
    <br>
    年龄:<input type="number" name="age">
    <br>
    <input type="submit" value="登录">
    <input type="button" value="一个按钮"><br>
    <input type="image" src="../img/regbtn.jpg">

10.select: 下拉列表(子元素:option,指定列表项、textarea:文本域(cols:指定列数,每一行有多少个字符、rows:默认多少行))

省份:<select name="province">
        <option value="">--请选择--</option>
        <option value="1" selected>北京</option>
        <option value="2">上海</option>
        <option value="3">香港</option>
        </select>
    <br>
    自我描述:<textarea cols="20" rows="5" name="des"></textarea>

CSS


概念

css(页面美化和布局控制),Cascading Style Sheets 层叠样式表(层叠:多个样式可以作用在同一个html的元素上,同时生效)  。

好处(1. 功能强大、2. 将内容展示和样式控制分离)-->降低耦合度。解耦、让分工协作更容易、  提高开发效率。

CSS与html结合方式

内联样式

在标签内使用style属性指定css代码(eg:<div style="color:red;">hello css</div>)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!--内联样式 (不推荐)
       在标签内使用style属性指定css代码-->
<div style="color: yellow;">hello css</div>

</body>
</html>

内部样式

在head标签内,定义style标签,style标签的标签体内容就是css代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div{
            color: blue;
        }
    </style>
</head>
<body>
    <!--内部样式
       在head标签内,定义style标签,style标签的标签体内容就是css代码-->
    <div>hello css</div>
</body>
</html>

外部样式

1. 定义css资源文件  2. 在head标签内,定义link标签,引入外部的资源文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <!--可以不通过link标签的引用-->
    <!--<link rel="stylesheet" href="../css/a.css">-->
    <style>
        @import "../css/a.css";
    </style>
</head>
<body>
    <!--外部样式
       1. 定义css资源文件。
		2. 在head标签内,定义link标签,引入外部的资源文件
       -->
<div>hello css</div>
<div>hello css</div>

<p>呀呼</p>

</body>
</html>

注:1,2,3种方式 css作用范围越来越大  1方式不常用,后期常用2,3。

css语法

格式:
		选择器 {
			属性名1:属性值1;
			属性名2:属性值2;
			...
		}

选择器:筛选具有相似特征的元素(注:每一对属性需要使用;隔开,最后一对属性可以不加;)

基础选择器

1. id选择器:选择具体的id属性值的元素.建议在一个html页面中id值唯一

2. 元素选择器:选择具有相同标签名称的元素(语法: 标签名称{}  (注意:id选择器优先级高于元素选择器))

3. 类选择器:选择具有相同的class属性值的元素(语法:.class属性值{} (注意:类选择器选择器优先级高于元素选择器))

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>基础选择器</title>
    <style>
        #div1{
            color: red;
        }
        div{
            color: green;
        }
        .cls1{
            color: blue;
        }

    </style>
</head>
<body>

<!-- 1.id选择器:选择具体的id属性值的元素,建议在一个html页面中id值唯一
    语法:#id属性值{}     -->

<div id="div1">传智播客</div>
<div>黑马程序员</div>

<!--2. 元素选择器:选择具有相同标签名称的元素
    语法: 标签名称{}
        注意:id选择器优先级高于元素选择器-->

<!--3. 类选择器:选择具有相同的class属性值的元素。
    语法:.class属性值{}
    注意:类选择器选择器优先级高于元素选择器-->
<p class="cls1">传智学院</p>

</body>

扩展选择器

1. 选择所有元素:(语法: *{})

2. 并集选择器:(选择器1,选择器2{})

3. 子选择器:筛选选择器1元素下的选择器2元素(语法:  选择器1 选择器2{})

4. 父选择器:筛选选择器2的父元素选择器1(语法:  选择器1 > 选择器2{})

5.属性选择器:选择元素名称,属性名=属性值的元素(语法:  元素名称[属性名="属性值"]{})

6. 伪类选择器:选择一些元素具有的状态(语法: 元素:状态{}) link:初始化的状态、visited:被访问过的状态、active:正在访问状态、hover:鼠标悬浮状态

属性

1. 字体、文本(font-size:字体大小、color:文本颜色、text-align:对其方式、line-height:行高)

2. 背景(background)  3. 边框(border:设置边框,符合属性)  4. 尺寸(width:宽度、height:高度)

5. 盒子模型:控制布局  (margin:外边距、padding:内边距(默认情况下内边距会影响整个盒子的大小、box-sizing: border-box;  设置盒子的属性,让width和height就是最终盒子的大小) float:浮动 (left、right))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值