HTML、CSS

本文详细介绍了HTML和CSS的基础知识及应用技巧,包括HTML的基本结构、常用标签、表格、表单等,以及CSS的选择器、样式规则、盒子模型等内容。

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

HTML概述

超文本标记语言。

超文本:页面内可以包含图片、链接,甚至音乐、程序等非文字元素。

超文本标记语言的结构包括”头”(head)部分、”主体”(body)部分,其中”头”部提供关于网页的信息,”主体”部分提供网页的具体内容。

HTML的作用

用于编写网页。通过浏览器看到的大部分页面都是由HTML编写的,在浏览器访问网页时,可通过“右键--查看网页源代码”看到具体的html代码。

网页内容包括:html代码、CSS代码、JavaScript代码等内容。

html代码:用于展示需要显示的数据。

CSS代码:使显示的数据更加美观。

JavaScript代码:使整个页面显示的数据具有动画效果。

网页根据内容是否改变分为:静态页面、动态页面

静态:编写之后在浏览器不再改变的网页。(例如html)

动态:会根据不同的情况展示不同的内容。(登陆后显示用户名)

HTML语言特点

(1)HTML文件不需要编译,直接使用浏览器阅读即可

(2)HTML文件的扩展名是*.html或*.htm

(3)HTML结构都是由标签组成:

标签名预先定义好的,我们只需要了解其功能即可

标签名不区分大小写

通常情况下标签由开始标签和结束标签组成(例如<a> </a>)

如果没有结束标签,建议以/结尾(例如<img />)

 

Test.html(代码用蓝色字体突出显示 <!--注释内容-->)

<html>  <!--整个页面的根标签,一个页面只需要一对-->

<!--head 头标签,用于引入脚本、导入样式、提供元信息等,一般情况下头标签的内容在浏览器端都不显示-->

<head>  

<meta charset = “UTF-8”>  <!--设置字符值-->

<title>标题</title>  <!--子标签,用于显示浏览器标题-->

</head> 

<!--body 体标签,是整个网页的主体,html代码都放在这里面-->

<body> 

正文部分

</body>

</html>

 

<h1>标题标签

有<h1>、<h2>、<h3>、<h4>、<h5>、<h6>六个级别的标题

<h1>定义最大的标题(字体最大),<h6>定义最小的标题。

<hr>水平分割线

在HTML页面中创建一条水平分割线,用于定义内容中的主题变化。

size属性:水平线的粗细程度,单位为像素

noshade属性:没有阴影,取值:noshade,表示显示纯色

<font>字体标签

用于设置字体尺寸大小,字体颜色等

size属性:设置字体大小,浏览器默认值是3,范围[1-7]

color属性:设置字体的颜色( #FFFFFF(#FFF) 或red )

<b><i><u>格式化标签

<b>加粗、<i>倾斜、<u>加下划线

<p><br/>段落标签

<p>定义段落,此标签会自动在其前后创建一些空白

<br/>插入单个换行(间距几乎为0)

 

<img/>图片标签

src:指定需要显示图片的url (路径)

alt:图片无法显示时替代的文本

width:设置图像的宽度

height:设置图像的高度

 

<ul><ol>列表标签

<ol>定义有序列表

type列表类型,取值A、a、I、i、1等

<ul>定义无序列表

type符号的类型,取值:disc实心圆、square方块、circle空心圆

<li>定义列表项。是<ul>和<ol>的子标签。

 

<a>超链接标签

是在html页面提供一种可以访问其他位置的实现方式。

href:用于确定需要显示页面的路径(url)

target:确定以何种方式打开href所设置的页面。

_blank在新窗口打开href确定的页面

_self(也是默认值)使用href确定的页面替换当前页面

 

<table>表格标签

<table>是父标签,相当于整个表格的容器

border表格边框的宽度

width表格的宽度

cellpadding单元格边沿与其内容之间的空白

cellspacing单元格之间的空白

bgcolor表格的背景颜色

<th>标签用于定义表头。单元格内的内容默认居中、加粗。

<tr>标签用于定义行

<td>标签用于定义表格的单元格(一个列)

colspan单元格可横跨的列数

rowspan单元格可横跨的行数

align单元格内容的水平对齐方式,取值:left、right、center

nowrap单元格中的内容是否允许折行

 

<frameset>框架标签

是多个窗口页面整合在一起的一个集合(框架集)。每一个页面(框架)都是单独文档,需要使用子标签<frame>来确定页面的位置。<frameset>通过列和行来确定整体布局,使用cols确定列数,使用rows确定行数。多个<frameset>可以嵌套使用。

<frameset>和<body>两个不能共存。

rows属性和cols属性取值:值1,值2,值3......一个值表示一行(列),多值使用逗号分隔,值可以是10px、10%等,最后一个值如果不想计算可以使用*匹配剩余量。

<frame>框架子标签,用于设置<frameset>框架集中的一个页面(框架)

src属性:确定页面的路径

noresize属性:框架分隔先不能移动

target属性:确定需要显示的页面在何处显示

 

<form>表单标签

action属性:请求路径,确定表单提交到服务器的地址(路径)

method属性:请求方式。常用的取值:get、post

get(默认值):

提交的数据追加在请求路径上。例如:/1.html?username=jack&password=1234,数据格式k/v,追加是使用?连接,之后每一对数据使用&连接。

数据不安全,数据都会在地址栏显示,数据不能太长,否则提交失败。文件上传等不用get请求。

因为请求路径长度有限,所有get请求提交的数据有限。

post:

提交的数据不再请求路径上追加(即不显示在地址栏上)。

提交的数据大小不显示。不在地址栏显示,数据在请求体里面。走网络协议,有请求头和请求体。提交内容长度不限制。

 

<input>输入域标签

<input>标签用于获得用户输入信息,type属性值不同,搜集方式不同。最常用的标签。

type属性:

text文本框,单行的输入字段,用户可在其中输入文本。默认宽度为20个字符。

password密码框,密码字段。该字段中的字符以黑圆显示。

radio单选框,表示一组互斥选项按钮中的一个。当一个按钮被选中,之前选中的按钮就变成非选中的。

submit提交按钮,提交按钮会把表单数据发送到服务器。一般不写name属性,否则将“提交”两个字提交到服务器。

checkbox复选框

file文件上传组件,按下“浏览”可以选择需要上传的文件

hidden隐藏字段,数据会发送给服务器,但浏览器不显示

reset重置按钮,将表单恢复到默认值

image图形提交按钮,通过src给按钮设置图片

button普通按钮,常用于JavaScript结合使用

name属性:元素名,如果需要表单数据提交到服务器,必须提供name属性值,服务器通过属性值获得提交的数据。

value属性:设置input标签的默认值。Submit和reset为按钮显示数据。单选框和复选框必须手动给出value属性值

size属性:标签大小

checked属性:单选框或复选框被选中

disabled属性:是否可用

maxlength属性:允许输入的最大长度

文件上传需要用到的属性:enctype="multipart/form-data"

Ctrl+/  注释的快捷键   Shift+回车键  生成<br />标签快捷键

 

<select>下拉列表标签

可以进行单选或多选。需要使用子标签<option>指定列表项

name属性:发送给服务器的名称

multipe属性:不写默认单选,取值为“multiple”表示多选

size属性:多选时,可见选项的数目。

option子标签:下拉列表中的一个选项(一个条目)

selected勾选当前列表项

value发送给服务器的选项值

 

<textarea>文本域标签

多行的文本输入控件

cols属性:文本域的列数

rows属性:文本域的行数

 

<button>按钮标签

<button type=”button|reset|submit”>按钮标签一般很少使用,提供“普通|重置|提交”功能,不同的浏览器默认值不同。

 

div块级元素

div就是html一个普通标签,进行区域划分。特性:独自占一行。独自不能实现复杂效果。必须结合CSS样式进行渲染,<div>可定义文档中的分区或节(division/section)。

<div>标签可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使用任何格式与其关联。

如果用id或class来标记<div>,那么该标签的作用会变得更加有效。

 

CSS概述

CSS通常称为CSS样式或层叠样式表,主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(高宽、边框样式、边距等)以及版面的布局等外观显示样式。

CSS可以是HTML页面更好看,CSS色系的搭配可以让用户更舒服,CSS+DIV布局更加灵活,更容易绘制出用户需要的结构。

CSS(Cascading Style Sheets)层叠样式表

样式:给HTML标签添加需要显示的效果。

层叠:使用不同的添加方式。给同一个HTML标签添加样式,最后所有的样式都叠加到一起,共同作用于该标签。

CSS样式规则

使用HTML时,需要遵从一定的规范。

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

“选择器”用于指定CSS样式作用的HTML对象,花括号内是对该对象设置的具体样式。属性和属性值以键值对的方式出现,使用英文冒号分隔,多个属性之间使用英文分号分隔。

CSS样式结构中的几个特点:

CSS样式”选择器”严格区分大小写,”属性”和”属性值”不区分大小写。

多个属性之间必须用英文状态下的分号隔开,最后一个属性后的分号可以省略,为了便于增加新样式最好保留。

如果属性的值由多个单词组成且中间包含空格,则必须为这个属性值加上英文状态下的引号。

在编写CSS代码时,为了提高代码的可读性,通常会加上CSS注释。

在CSS代码中,空格是不被解析的,花括号以及分号前后的空格可有可无。可以使用空格键、Tab键、回车键等对样式进行排版。

注意:属性的值和单位之间是不允许出现空格的,否则浏览器解析时会出错。

 

引入CSS样式

CSS使用非常灵活,可以嵌入在HTML文档中,也可以是一个单独的文件,如果是单独的文件,则必须以.css为扩展名。

CSS与HTML的结合的3种常用方式:

(1)行内样式:是通过标签的style属性来设置元素的样式。

行内样式是通过标签的属性来控制样式,这样并没有做到结构与表现(HTML展示结构、CSS显示效果)相分离,所以一般很少使用。

(2)内部样式:又称为内嵌式,是将CSS代码集中卸载HTML文档的<head>头部标签体中,并且使用<style>标签定义。

内嵌式CSS样式只对其所在的HTML页面有效,可以对多处标签统一设置样式,因此,仅设计一个页面时,使用内嵌式是个不错的选择,但如果是一个网站,不建议使用这种方式,因为不能发挥CSS代码的重用性。

(3)外部样式:又称为链入式,是将所有的样式放在一个或多个以.css为扩展名的外部样式表文件中,通过<link>标签将样式连接到HTML文档中。

链入式最大的好处是同一个CSS样式表可以被不同的HTML页面链接使用,同时一个HTML页面也可以通过多个<link/>标记链接多个CSS样式表。

 

选择器

要想将CSS样式应用于特定的HTML元素,首先需要找到该目标元素。在CSS中,执行这一任务的样式规则部分被称为选择器。

(1)元素选择器

是指用HTML标记名称作为选择器,按标记名称分类,为页面中某一类标记指定统一的CSS样式。语法如下:

标记名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}

该语法中,所有的HTML标记名都可以作为标记选择器,例如body、h1、p、strong等。用标记选择器定义的样式对页面中该类型的所有标记都有效。

标记选择器最大的优点是能快速为页面中同类型的标记统一样式,同时这也是它的缺点,不能设计差异化样式。

(2)ID选择器

ID选择器使用”#”进行标识,后面紧跟ID名,语法如下:

#ID名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}

该语法中,ID名即为HTML元素的ID属性值,大多数HTML元素都可以定义ID属性,元素的ID值是唯一的,只能对应与文档中某一个具体的元素。

(3)类选择器

使用”.”(英文标点)进行标识,后面紧跟类名,语法如下:

.类名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}

该语法中,类名即为HTML元素得到class属性值,大多数HTML元素都可以定义class属性。类选择器最大的优势是可以为元素对象定义单独或相同的样式。

标签选择器和类选择器共同作用的效果:

类选择器的高级用法:给指定的标签设置class样式

标签.类名类名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}

扩展:属性选择器,在标签后面使用中括号标记,语法如下:

标签名[标签属性=’标签属性值’]{属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}

该选择器,是对”元素选择器”的扩展,对一组标签进一步过滤。

扩展:包含选择器,两个标签之间使用空格,给指定父标签的后代标签设置样式,可以方便在区域内编写样式。

父标签 后代标签{属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}

该选择器,是对”元素选择器”的扩展,对一个标签内部所有后代标签进行过滤。

 

CSS样式

边框和尺寸:border、width、height

border:设置边框的样式

格式:宽度 样式 颜色

例如:style=”border:1px solid #f00”,1像素实边红色

样式取值:solid实线,none无边,double双线等

width、height:用于设置标签的宽度、高度。

转换:display

HTML提供了丰富的标签,这些标签被定义成了不同的类型,一般分为:块标签和行内标签。

块标签:以区域块方式出现。每个块标签独自占据一整行或多行。常见的块标签元素:<h1>、<div>、<ul>

行内元素:不必在新的一行开始,同时也不强迫其他元素在新的一行显示。常见的行内元素:<span>、<a>

在开发中,希望行内元素具有块元素的特性,需要使用display进行转换

选择器{display: 属性值}

常用的属性值:

inline:此元素将显示为行内元素(行内元素默认的display属性值)

block:此元素将显为块元素(块元素默认的display属性值)

none:此元素将被隐藏,不显示,也不占用页面空间。

字体:color、font-size

color:颜色,字体颜色

背景色:background-color

布局:float、clear

通常默认的排版方式,将页面中的元素从上到下一一罗列,而实际开发中,需要左右方式进行排版,就需要使用浮动。

选择器{float:属性值;}

常用属性值:

left:元素向左浮动

right:元素向右浮动

none:元素不浮动(默认值)

由于浮动元素不再占用源文档流的位置,它会对页面中其他元素的排版产生影响。如果要避免影响,需要使用clear属性进行清除浮动。

选择器{clear:属性值;}

常用属性值:

left:不允许左侧有浮动元素(清除左侧浮动的影响)

right:不允许右侧有浮动元素(清除右侧浮动的影响)

both:同时清除左右两侧浮动的影响

 

CSS的盒子模型

CSS框模型(Box Model)规定了元素框处理内容、内边距、边框和外边距的方式。

内边距:padding

可以按照上、右、下、左的顺序分别设置各边的内边距,各边均可以使用不同的单位或百分比值:

单边内边距属性,也可以使用下面四个单独的属性,分别设置:

padding-top、padding-right、padding-bottom、padding-left

边框:border

Border-top-style、border-right-style、

border-bottom-style、border-left-style

外边距:margin

margin-top、margin-right、margin-bottom、margin-left

 

div和span比较

div是块级元素,默认独自占一行。

span行内元素,默认所有的在一行。都可以进行区域划分。

通过CSS对其进行转换:display:block/none;

转载于:https://my.oschina.net/jinyeyaonitian/blog/811748

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值