Web之html、css


前言

本文主要讲述后端开发者需要的基本web知识点,讲述了html、css的一些基本内容。


一、HTML

1、定义

1、定义
HTML 是一种超文本标计语言

将它拆分为超文本标记语言
首先,它是一种标记语言,通过使用标签,达到约束文本的格式的功能。详情参考

然后,超文本体现在它的广泛性上。它不仅能够标记文本,还能够标记视频和音频

2、组成
一个普通的html文件通常是由一系列标签和标签的属性,以及文本、图片、视频、音频组成的。

2、标签

我们随便新建一个html文档,可以看到开发工具已经给我们搭好了基本的框架。

首先,我们来理解这个基本框架中各个标签的功能:
在这里插入图片描述
     1、整体部分:我们所有的网页的内容都是写在<html></html>标签里面的,它是网页的标志,如果没有它,那么你写的所有东西都只是一个文档,浏览器无法访问。

     2、声明部分:网页的发展历程肯定不会只有一个版本,这个声明就是告诉浏览器,我来自哪一年,我们的语言思维方式是啥,让浏览器找到能与你进行沟通的翻译器,进而实现你的需求。

     3、<head><\head>部分:为什么我把它称为使网页的基本配置呢,这是因为网页的样式代码(css)以及实现网页交互的代码(javascript)都需要在这里面写。其实也不是不可以写一些其他的基本标签,但是这应该算是一种约定俗成吧。

扫描二维码关注公众号,回复: 14385697 查看本文章

     4、主体部分:终于到了我们接下来的主体内容部分了,下面的所有标签都是写在这个主体部分的。

接着,介绍一些我们常用的标签:

① 基本标签

类型 使用方法 解释
标题 <h1>内容标题</h1> 共6个级别,可按照需求使用
分割线 <hr /> 默认一是条占据整个页面的分割线
段落 <p>段落</p> 所有文本占据一个段落
行内标签 <span>行内标签</span> 相较于普通文本没什么区别,主要运用于对某个单词的样式设置
字体标签 <font>字体标签</font> 相较于普通文本没什么区别,主要运用于对某个单词的字体属性设置
图片 <img src="图片地址"/> 写图片的标签
列表 <ol> <li>A<li> <li>B<li> </ol> 分为有序(ol)和无序(ul),其列表内容A、B使用<li><li>
超链接 <a href="链接地址">链接</a> 写超链接的标签
滚动标签 <marquee>滚动内容</marquee> 默认从右往左滚动
加粗标签 <b>加粗的内容</b> 加粗文本内容
按钮标签 <button>按钮中的内容</button> 按钮,可添加事件
块状标签 <div>标签中的内容</div> 块状标签,可用于设置样式、样式嵌套

示例代码:

<!DOCTYPE html>  <!-- html5标准网页声明 --> 
<!-- 可以告知浏览器该html文档使用的是什么版本编写,防止解析错误 -->
<html>
	<head>
		<meta charset="utf-8"> <!-- 声明编码方式,防止乱码 -->
		<title>标题</title> <!-- 网页标题 -->
	</head>
	<body>
		<!-- 内容标题 -->
		<h1>一级内容标题</h1>
		<h2>二级内容标题</h2>
		<h3>三级内容标题</h3>
		<h4>四级内容标题</h4>
		<h5>五级内容标题</h5>
		<h6>六级内容标题</h6>
		<!-- 分割线hr -->
		<hr />
		<!-- 段落标签p 每一段P标签的文本同后面的文本之间会自然换行 -->
		<p>段落标签文本</p>这是段落后面的文本
		<!-- 行间标签span、字体标签font 相当于普通的文本,不会自动换行 -->
		<span>行间标签文本</span>
		<font>字体标签文本</font>
		<br/> <!-- 换行 -->
		<!-- 图片标签 放置图片的标签 可通过设置属性来规范格式 不设置则默认原来图片的大小-->
		<img src="img/IMG_20220611_102130.jpg" width="200" heigth="100"/>
		
		<!--列表 分为有序列表和无序列表 其中的个小分点还需要使用<li>小分点1</li>标签 -->
		<!-- 1.有序列表 (order list) type属性:选择序号类型 -->
		<ol type="I">
			<li>语文</li>
			<li>数学</li>
			<li>英语</li>
		</ol>
		<!-- 2.无序列表(un- 否定) type属性:选择序号类型 -->
		<ul type="square">
			<li>语文</li>
			<li>数学</li>
			<li>英语</li>
		</ul>
	
		<!-- 3.多级列表(列表的嵌套使用) -->
		<ul>
			<li>计算机</li>
				<ol>
					<li>C</li>
					<li>python</li>
					<li>数据库</li>
				</ol>
			<li>数学</li>
			<li>物理</li>
		</ul>
		
		<!-- 超链接 可以是自己写的html文件,也可以是别人的网址(写全)-->
		<!-- 还可以是"#",为当前页面-->
		<a href="https://www.baidu.com/">链接标签</a>
		
		<!--滚动标签-->
		<marquee>滚动内容</marquee>
	</body>
</html>

代码结果图片:

在这里插入图片描述
上述标签的基本效果展示,上面的代码已经给出来了。

但是,有时候,为了追求更好的效果,还可以进行标签的相互嵌套:

比如说,你认为这个超链接不好看,想要将超链接点击的标签变成图片,其实只需要在超链接标签里面写个图片就好了(你以为我是个图片,其实我是个链接)。

又比方说,你想要滚动的内容变成图片,也只需要在滚动标签里嵌套一张图片就可以了。

② 表格标签

示例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
	</head>
	<body>
		<!-- 表格标签table -->
		<!-- 其实同latex中的表格类似,首先,你需要一个表格的大环境,然后再进行画图(横线<tr>和竖线<td>),但是,它没有规定你一定是多少列(按你最多的那一列确定)-->
		
		<!-- 1.三行四列表格设置 -->
		<table border="1" >  <!-- border边框设置,默认没有边框 -->
			<tr>
				<td>1</td>
				<td>1</td>
				<td>1</td>
				<td>1</td>
			</tr>
			<tr>
				<td>2</td>
				<td>2</td>
				<td>2</td>
				<td>2</td>
			</tr>
			
			<tr>
				<td>3</td>
				<td>3</td>
				<td>3</td>
				<td>3</td>
			</tr>
		</table>
		<!--表格标签属性拓展-->
		<!--th 居中加粗  cellspacing 单元格之间的间隙  cellpadding 设置表格里面文本同表线左边和上面的距离-->
	</body>
</html>

代码结果图片:
在这里插入图片描述
表格常用拓展功能:

1、隐藏边框:表格标签可以对文本的格式进行排版(利用border属性,border=0可以隐藏表格的边框)

2、单元格合并:
      合并列:colspan="i"设置从当前单元格往右合并i个单元格(包括当前单元格)。
      合并行:rowspan="i"设置从当前单元格往下合并i个单元格(包括当前单元格)。
      合并行列:按照代码的先后顺序,优先级逐渐递减的合并规则。

3、使用方法(在单元格中使用):

<td colspan="2" rowspan="2">3</td>

③ 表单标签

      表单标签之所以不同于其他标签,需要单独拿出来讨论,是因为它不同于前面的标签(只能写出一个可读的网页)。

      表单标签能够和用户进行交互,将用户的需求按照一定的格式传递给数据库中,进而达到交互的效果。

      例如我们常用的登录界面,你输入数据的地方,就是由表单标签制作的。

表单类型 类型名称
文本框 text
密码框 password
单选框 radio
复选框 checked
下拉菜单 select option
文本域 textarea
提交按钮 submit
重置按钮 reset
图片按钮 image

这一套表单标签,同表格类似,一般需要在form 标签的环境下使用

示例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<!-- 表单 同用户进行交互的操作 一套标签-->
	<!--文本框、密码框、单选框、复选框、下拉菜单、文本域-->
	<!--标签中的id 和 name属性 给标签元素命名
		id 不能重复,name可以重复
		CSS、JS、JAVAWEB 编程中需要使用这些属性
	-->
	<!--value 表示元素的值
		将用户输入的值传入数据库中 
		有选择的框才需要
		
		单选按钮、复选框的选项可以使用checked 默认选中
		下拉菜单 使用selected 默认选中
		
		readonly 该元素只读
		disabled 该元素禁用 无法传递到服务器中
	-->
	<body>
		<form action="#"><!--提交到服务器的某个地址,将来的服务器-->
			<!--文本框-->
			username: <input type="text" id="username" name="username"/><br/>
			
			<!--密码框-->
			password: <input type="password"/><br/>
			
			<!--单选框 name属性一致 才能达到单选效果-->
			<!--checked 默认选中-->
			sex: <input type="radio" name="sex" checked/><input type="radio" name="sex"/><br/>
			
			<!--复选框 保证name 相同,可以视为一组-->
			hobby: <input checked type="checkbox" id="singing" name="hobby" value="唱歌"/>唱歌
				  <input type="checkbox" id="dancing" name="hobby" value="跳舞"/>跳舞
				  <input type="checkbox"/>花花<br />
			
			<!--单个复选框 勾选 传值yes,否则null-->
			marry:<input type="checkbox" value="yes"/><br />
			
			<!--下拉菜单 单选按钮组 option只能存在select里面-->
			<!--multiple(多选模式)-->
			address:<select>
				<option>湖南</option><br/>
				<option>江西</option><br/>
				<option>湖北</option><br/>
			</select><br/>
			
			<!--文本域 多行文本框-->
			个人简介:<br/>
			<textarea cols="40" rows="10"></textarea><br/>
			
			<!--提交按钮 提交数据库 配合form中的action属性-->
			<input type="submit" value="REG"/>
			<!--重置-->
			<input type="reset" value="RESET"/>
			<!--button 在form外面是普通按钮   form里面可以有提交功能-->
			<button>BUTTON</button>
			<!--图片按钮-->
			<input type="image" src="img/IMG_1.png" width="20" height="20">
		</form>
		
	</body>
</html>

代码结果图片:


表单标签基本属性及应用:

      1、type:决定表单类型的属性。
      2、id:给标签元素命名的属性(不可重复),主要用于之后的css、js编程。
      3、name:给标签元素命名的属性(可重复),主要用于之后的css、js编程。
      4、value:表单内容的值,经用户操作,传入数据库的值。主要用于之后的css、js编程。
      5、checked:默认选中该选项(用于单选框、复选框),下拉菜单【selected】
      6、cols、rows:设置文本域内容长宽的属性。
      7、action:form标签中将值传入的数据库,其数据库的地址。(action="#",跳转到本页面,是一种临时链接的写法,这样写就是说这个链接目前不可用,点击了也不会有作用)

      8、class:可用来设置样式,可以重复使用。

③ 其他标签及符号

符号或标签 含义
&nbsp; 空格
<br/> 换行
&gt 大于号 >
&lt; 小于号 <
&quot; 引号 "
&copy; 版权号 ©

3、属性

属性相当于控制标签的参数,给属性配置不同的值,可以达到不同的表现效果。

总的来说,属性是离不开标签的,不同的标签的属性各有不同。本文只讲述大部分标签常用的属性及其功能。

属性大致上可以分为与用户交互的属性(多用于js)、设置样式的属性(同css相似)两大类。

在一般情况下,我们很少去使用标签的属性来设置样式,更多的,我们是利用css来进行样式的设置;利用与用户操作相关的属性来使用js代码,进而与用户交互。

但是了解基本的属性及其功能还是很有必要的。

属性名称 功能 应用
align 位置 设置内容在环境的位置(center、right、left)
width 宽度 设置内容在环境的宽度
height 高度 设置内容在环境的高度
direction 方向 设置滚动内容滚动的方向(up、down、left、right)
size 大小 设置字体内容的大小
color 颜色 设置内容的颜色
bgcolor 背景颜色 设置背景颜色,只用于body中
background 背景图片 设置背景图片,只用于body中(通过复制填充整个背景)
border 边框设置 设置边框
style 样式设置 在标签中设置样式
onclick 用户点击时 当用户点击时,可设置相应的操作

二、CSS

1、定义

而通常在网页的开发中,为了开发的方便性,通常,样式的设置不是通过属性来进行配置的,而是通过css 代码实现的。

css 是专门设置标签样式的代码,其功能相当于属性的部分功能。

究其原因,一是代码的封装性强,可随意套用到任一html 文件中,二是样式的使用更加灵活,能够通过标签选择器复用到多个不同的标签块中。

2、标签选择器

常见选择器的类型:

选择器类型 功能
标签选择器(例如<p> <span>标签) 相同标签中的内容具有相同样式
class选择器 class 属性值相同的内容具有相同的样式
id 选择器 id 属性值相同的内容具有相同的样式
复合型选择器 具有相同复合结构的内容构具有相同的样式

使用范围:
一般来说,局部优先级大于全局优先级。
优先级:属性style设置>id选择器>class选择器>标签选择器

详情参考

示例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<!--
		 * 外部样式文件 让多个网页使用同一个样式
		 * 样式对于外观的设置更加灵活
		 * 将css文件引入到这个网页中,这个网页就可以用了采用css设置的样式了
		 * 其css 文件其实就是<style></style>标签中的全部内容
		 */-->
		<!-- <link href="样式文件地址" rel="stylesheet" type="text/css">-->
		<style>
			/* style 标签内 编辑 各类选择器 三种标准的样式选择器
			* 1.标签选择器: p、span  样式作用于具有相同标签中的内容
			* 2.class选择器: 标签内设置class 属性
			* 3.id 选择器: 所有标签都可以有id属性,仅作用于你设置的id中的内容
			* 4.复合选择器:样式作用于具有相同复合结构中的内容
			* 5.利用属性编辑样式
			*/
		   /**
		    * 样式的继承和覆盖
		    * 继承:外部标签的样式会沿用到内部标签
		    * 覆盖优先级:属性styl设置>id选择器>class选择器>标签选择器
		    */
			/**
			 * 颜色使用三原色来进行调色
			 * 分别使用两位的16进制数字表示 红 绿 蓝
			 * 数字大小调整三原色各自比例
			 */
			p{
      
      
				color: #FF0000; 
				font-size: 30px; 
				font-family: '宋体'; 
				font-style: italic; 
				border: 5px dotted green; 
			}
			
			span{
      
      
				color: #00FF00;
				font-size: 30px; 
				font-family: '楷体'; 
				font-style: inherit;
				border: 5px solid red; 
			}
			
			.myclass{
      
      
				color: #000000;
				font-size: 30px;
				font-family: '黑体';
				font-style: italic;
				border: 5px solid blue;
				width: 400px;
			}
			#myid{
      
      
				color: #0000FF;
				font-size: 30px;
				font-family: '隶书';
				font-style: italic;
				border: 15px solid gray;
				width: 500px;
			}
			
			
			/**
			 * 复合型选择器 1 (注意两类之间的空格)
			 */
			div .innerDiv{
      
      
				color: #9922FF;
				font-size: 30px;
				font-family: '隶书';
				font-style: italic;
				border: 15px solid green;
				width: 500px;
			}
			
			/**
			 * 复合型选择器 2 (注意两类之间的空格)
			 */
			.outClass p{
      
      
				color: #FF00FF;
				font-size: 30px;
				font-family: '隶书';
				font-style: italic;
				border: 5px solid gold;
				width: 500px;
			}
			
			/**
			 * 多个样式选择器使用相同的样式内容(两类之间,使用','分割)
			 */
			.class1,.class2{
      
      
				color: #FF00FF;
				font-size: 30px;
				font-family: '隶书';
			}	
		</style>
	</head>
	<body>
		<!--1.标签选择器-->
		<p>标签选择器——p</p>
		<span>标签选择器——span</span><br><br>
		
		
		<!--2.class 选择器-->
		<!-- 优先级:class>标签 -->
		<span class="myclass">class 选择器——myclass</span><br>
		
		<!--3.id 选择器-->
		<p id="myid">id选择器——myid</p>
		
		<!--4.复合选择器-->
		<!--外面必须是div,这个样式才有效果-->
		<div>
			<span class="innerDiv">复合型选择器1——div+class</span>
		</div>
		
		<div class="outClass">
			<p>复合型选择器2——class+p</p>
		</div>
		
		<!--5 利用属性设置样式-->
		<!--行内样式,只针对当前这一个对象有用-->
		<p style="
			color: #FF0000;
			font-family: '楷体';
			font-size: 100px;
			border-style: dashed;
			border-width: 10px;
			background-color: #00FF00;
			background-image: url(img/back_image.GIF);
			width: 80%;
			height: 30%;
			">基本样式--行内样式</p>
			
		<p>
			<a href="#">样式的继承 外部标签的样式会沿用到内部标签</a>
		</p>
		
		<!-- style>id>class>标签 -->
		<p class="myclass" id="myid" style="color: cyan;">
			样式的覆盖</p>
		
		<!--多个样式选择器使用相同的样式内容-->
		<a href="#" class="class1">链接1</a>
		<a href="#" class="class2">链接2</a>
		
	</body>
</html>

代码结果图片:

在这里插入图片描述

3、基本样式设置

文本:颜色color、字号font-size、字体font-family、形式font-style

背景:颜色background-color、图片background-image

边框(boder):形式border-style、颜色border-color、宽度border-width(边框可单独设置,也可一起设置)


总结

更多学习资料参考:HTML CSS

猜你喜欢

转载自blog.csdn.net/TH_guan/article/details/125528381