HTML+CSS基础学习

一、(预习)

浏览器是网页的载体,网页需要在浏览器里运行

PC端常见的浏览器:谷歌、火狐、IE、QQ浏览器、欧朋

手机端常见的浏览器:Safari、chrom、QQ浏览器

编写网页的语言叫做HTML,规则W3C制定

W3C(万维网联盟)

HTML(超文本标记语言)

标题标签

<h1>...</h1>
<h6>...</h6>

段落标签

<p>...</p>	<!-- 段落标签,文字会独占一行 -->

其他标签

<i>...</i>	<!-- 斜体 -->
<b>...</b>	<!-- 加粗 -->
<u>...</u>	<!-- 下划线 -->
<del>...</del>	<!-- 删除线 -->
<sup>...</sup>	<!-- 上标 -->
<center>...</center>	<!-- 文字居中 -->
<br>	<!-- 换行 -->
<hr>	<!-- 水平线 -->
&nbsp;	<!-- 空格 -->

<a href="" target="_blank">...</a>	<!-- 超链接 -->
*target表示目标,blank表示空白,target="_blank"表示在新窗口打开页面
<img title="" alt="" src=""/>	<!-- 图片 -->
*title:鼠标移上去出现的文字
*alt:图片加载失败后出现的文字

列表

<!-- 无序列表 -->
<ul>
	<li>
		列表项目
	</li>
</ul>
*<ul type="">,type:disc实心圆(默认)、circle空心圆、square实心方块
<ol>
	<li>
		列表项目
	</li>
</ol>
*<ol type="">,type:l数字(默认)、a大小写字母、i罗马字母

绝对地址:在任何情况下,都可以找到的地址

相对地址:必须知道当前所在,才能找到

表格

<table border="" cellspacing="" >		<!-- 表格 -->	
	<col width="">                      <!-- 列 -->
	<tr height="" align="">						<!-- 行 -->
		<td width="" align=""></td>		<!-- 单元格 -->
	</tr>
</table>
*border:边框
*cellspacing:单元格间隙
*align:对齐方式
<!-- 单元格合并 -->
<td colspan="" rowspan=""></td>
*colspan:合并列
*rowspan:合并行
<!-- 补充 -->
<th>...</th>		<!-- 加粗并水平居中的td -->
<colgroup span="" width="">
<table>
	<thead>
		表格的页眉
	</thead>
	<tbody>
		表格的主体
	</thead>
	<tfooter>
		表格的页脚
	</tfooter>
</table>

标签嵌套

超链接不能嵌套超链接

P标签不能嵌套P标签

标题标签也不能互相嵌套

表单

<form action="表单数据提交地址" method="">
	<input type="">
</form>
*type=	text(文本文字)
		password(密码输入框)
		button(普通按钮) submit提交按钮、reset重置按钮
		radio(单选框)
		checkbox(复选框)
		file(文件选择框)
*method= 	get
			post
*get请求和post请求的区别
get请求通常表示获取数据
post请求通常表示提交数据
get请求发送的数据都写在地址栏上,用户可见
post请求发送的数据用户不可见
get请求不能提交大量数据,但post可以,因此不要混用
*注意事项:
form必须有action属性,表示提交地址
所有需要提交的数据,input必须有name属性
input按钮的文字,使用value属性表示
input标签必须放在form标签内才能提交

文本属性

color:文字颜色
font-family:字体类型
font-size:文字大小
font-weight:bold			/* 文字加粗 */
font-style:italic			/* 文字倾斜 */
text-indent:60px			/* 首行缩进 */
text-align:center			/* 水平对齐方式 */
line-height:100px			/* 行高 */
text-decoration:underline	/* 文本修饰 */

图片属性

background-image:url();
background-repeat:no-repeat;
background-position:center center;

浮动

1.浮动元素会脱离网页文档,与其他元素发生重叠,但是不会与文字内容发生重叠
(脱离文档流)
2.浮动元素在排列时,只参考前一个元素位置即可
3.用途:
文字环绕效果
横向排版布局
4.浮动元素的重叠问题
浮动元素不会覆盖文字的内容
浮动元素不会覆盖图片的内容
浮动元素不会覆盖表单元素
(输入框、单选按钮、复选框、下拉选择框等)
5.
overflow:auto	/* 对超出边界的元素,父元素自动进行调整 */
clear:left/right/both	/* 清除浮动,该元素不受左/右/两边浮动的影响 */

盒模型

padding:内边距	(填充,会撑开容器大小)
margin:外边距

元素类型

1.块元素
可以设置宽高大小,默认宽度为100%,并且独占一行(浮动元素也是块元素)
(p、ul li、h1~h6、div、form、table)
2.内联(行内)元素
无法设置宽高,元素大小随内容变化,所有元素默认排在一行
(i、b、span、a)
3.内联块元素
既能设置宽高大小、又能排在一行显示
(img、input)

display:	block (块元素)
			inline (行内元素)
			inline-block (内联块元素)

定位

position:	absolute (绝对定位)
			relative (相对定位)
			fixed (固定定位,相对浏览器)
*子绝父相

鼠标移入

.class:hover { }

二、HTML+CSS基础

快捷键

ctrl + s : 保存
ctrl + a : 全选
ctrl + x、ctrl + c、ctrl + v : 剪切、复制、粘贴
ctrl + z、ctrl + y : 撤销、前进
shift + end : 从头选中一行
shift + home : 从尾部选中一行
shift + alt + ↓ : 快速复制一行
alt + ↑或↓ : 快速移动一行

tab : 向后缩进
tab + shift : 向前缩进

多光标 : alt + 鼠标左键
ctrl + d : 选则相同元素的下一个

HTML常见标签:http://www.html5star.com/manual/html5label-meaning/

HTML初始代码

<!DOCTYPE html>           文档声明 : 告诉浏览器这是一个html文件
<html lang="en"> html文件的最外层标签:包裹着所有html标签代码 lang="en"表示是一个英文网站 lang="zh-CN"表示一个中文网站
    <head>
        <meta charset="UTF-8">    元信息:是编写网页中的一些辅助信息 charset="UTF-8"国际编码,让网页不出现乱码的情况
        <title>Document</title>   设置网页的标题
    </head>
    <body>
        显示网页内容的区域
    </body>
</html>

HTML语义化

所谓HTML语义化指的是,根据网页中内容的结构,选择适合的HTML标签进行编写
好处:
1.在没有CSS的情况下,页面也能呈现出很好的内容结构
2.有利于SEO,让搜索引擎爬虫更好的理解网页
3.方便其他设备解析(如屏幕阅读器、盲人阅读器等)
4.便于团队开发与维护

文本修饰标签

强调: <strong></strong>、<em></em>

下标 : <sub></sub>
上标 : <sup></sup>

删除文本 : <del></del>
插入文本 : <ins></ins>
注:一般情况下,删除文本都是和插入文本配合使用的。     

图片标签

img -> 单标签 
src : 引入图片的地址。
alt : 当图片出现问题的时候,可以显示一段友好的提示文字。
title : 提示信息
width、height : 图片的大小

链接标签

双标签  <a></a>
href属性 : 链接的地址
 target属性 : 可以改变链接打开的方式,默认情况下:在当前页面打开 _self  新窗口打开 _blank

base -> 单标签 :作用就是改变链接的默认行为的。
<head>
	<base target="_blank">
</head>

跳转锚点

#id属性
<a href="#html">HTML</a>
<h2 id="html">HTML超文本标记语言</h2>

#name属性 (name属性加给的是a标签!<a name=""></a>)
<a href="#html">HTML</a>
<a name="html"></a>

特殊字符

空格符:&nbsp;
版权(©):&copy;
注册商标(®):&reg;
小于号:&lt;
大于号:&gt;
和号(&):&amp;
人民币(¥):&yen;
摄氏度:&deg;

列表

  • 无序列表

    注:ul和li必须是组合出现的,他们之间不能有其他标签
    type属性更改前面标记的样式
    
  • 有序列表

    <ol>
    	<li></li>
    </ol>
    一般用得少,可以用无序列表模拟
    
  • 定义列表

    <dl>
    	<dt>...</dt>
    	<dd>...</dd>
    </dl>
    <dl>...</dl>:定义列表
    <dt>...</dt>:定义专业术语或名词
    <dd>...</dd>:对名词进行解释和描述
    列表项需要添加标题和对标题进行描述的内容
    
  • 嵌套列表

表格标签

<table>
	<caption>...</caption>
	<tHead>
		<tr>
			<th>...</th>
		</tr>
	</tHead>
	<tBody>
		<tr>
			<td>...</td>
		</tr>
	</tBody>
	<tFood>
	</tFood>
</table>
table:表格的最外层容器
tr:定义表格行
th:定义表头
td:定义表格单元
caption:定义表格标题
语义化标签:<tHead>、<tBody>、<tFood>

表格属性

border:表格边框
cellpadding:单元格内的空间
cellspacing:单元格之间的空间
rowspan:合并行
colspan:合并列
align:左右对齐方式
valign:上下对齐方式

表单标签

<form action="">
	<input type="">
</form>
type = 	text(普通的文本输入框)
		password(密码输入框)
		checkbox(复选框)
		radio(单选框)
		file(上传文件)
		submit(提交按钮)
		reset(重置按钮)
注:单选框,选项需要设置相同的name

checked:初始选上
disable:不可选
placeholder:提示内容

多行文本框
<textarea cols="" rows=""></textarea>

下拉菜单
<select>
	<option>...</option>
</select>
selected:当前被选中的项(<option selected>...</option>)
multiple:多选(<select multiple>)

辅助表单
<label>...</label>
*使得可选择的范围变大
<input type="radio" name="gender" id="man"><label for="man">男</label>
<input type="radio" name="gender" id="woman"><label for="woman">女</label>

CSS样式的引入方式

  • 内联(行内、行间)样式

    在HTML标签上添加style属性来实现
    
  • 内部样式

    在<style>...</style>标签内添加的样式
    注:内部样式的优点是可以复用代码
    
  • 外部样式

    <link rel="stylesheet" herf="">
    rel:规定当前文档与被链接文档之间的关系
    herf:地址
    
    @import url('');
    

CSS中的颜色表示法

  • 单词表示法
red,green,blue
  • 十六进制表示法
#000000,#ffffff
  • RGB三原色表示法
rgb(255, 255, 255)			取值范围0~255

CSS背景样式

background-color:背景颜色
background-image:url()		背景图片
background-repeat:背景图片的平铺方式,默认铺满
* repeat-x:x轴平铺
  repeat-y:y轴平铺
  repeat:平铺
  no-repeat:不平铺
background-position:背景图片的位置(相对x、y轴)
background-attachment:背景图随滚动条的移动方式
* scroll:默认值(背景位置是按当前元素进行偏移的)
  fix:固定不动(背景位置是按浏览器进行偏移的)

CSS边框样式

border-style:边框样式
* border-left-style
* solid:实线
  dashed:虚线
  dotted:点线 
border-width:边框大小
border-color:边框颜色
* transparent透明颜色

CSS文字样式

font-family:字体类型
font-size:字体大小(默认16px)
font-weight:字体粗细(normal、bold)
font-style:字体样式(normal、italic)
color:字体颜色

CSS段落样式

text-decoration:文本修饰(可以添加多个)
* underline:下划线
  overline:上划线
  line-through:删除线
  none:不添加任何装饰
text-transform:文本大小写
* lowercase:小写
  uppercase:大写
  capitalize:只针对首字母大写
text-indent:文本缩进(em)
text-align:文本对齐方式
*对齐方式:left、right、center、justify(两端点对齐)
line-height:定义行高
letter-spacing:字间距
word-spacing:词间距(英文)
word-break:break-all(非常强烈的折行)
word-wrap:break-word(不是那么强烈的折行,会产生空白区域)

CSS复合样式

background
border
font
*font至少要有两个值size family(顺序固定,放最后才能生效)
weight style size/line-height family

CSS选择器

  • id选择器(#elem{})

    id是唯一值
    命名规范
    
  • CLASS选择器(.elem{})

    可以复用
    可以添加多个class
    (多个样式的时候,样式的优先级根据css决定,而不是class属性中的顺序)
    
  • 标签选择器(TAG选择器)

    css中div{}
    html中<div></div>
    
  

- 群组选择器(分组选择器)

div, #text, .title{}
*通过逗号的方式,给多个不同的选择器添加统一的css样式


- 通配选择器

*{}
使用的场景:去掉所有标签的默认样式时


- 层次选择器

后代:M N {}
父子:M > N {}
兄弟:M ~ N {} 当前M下面的所有兄弟标签
相邻:M + N {} 当前M下面相邻的N标签


- 属性选择器

M[attr] {}
= :完全匹配
*= :部分匹配
^= :起始匹配
&= :结束匹配
[][][]:组合匹配


- 伪类选择器

CSS伪类用于向某些元素添加特殊效果。一般用于初始样式添加不上的时候,用伪类来添加。
M:伪类{}
:link 访问前的样式
:visited 访问后的样式
:hover 鼠标移入时的样式
:active 鼠标按下时的样式

:after、:before 通过伪类的方式给元素添加一段文本内容,使用content属性
:checked、:disable、:foucs

结构性伪类选择器:
nth-of-type() 角标是从1开始的,1表示第一项 | n值,表示0到无穷大(隔行换色)
first-of-type()
last-of-type()
only-of-type()


## CSS样式继承

文字相关的样式可以被继承
布局相关的样式不能被继承(默认不能继承,但可以设置继承属性inherit)


## CSS优先级

相同样式优先级:
当设置相同样式时,后面的优先级较高,但不建议出现重复设置样式的情况

内部样式与外部样式:
内部样式与外部样式优先级相同,如果都设置了相同样式,那么后写的引入方式优先级高

单一样式优先级:
style行间(权重:1000) > id(100) > class(10) > tag(1) > * > 继承

!important:提升样式优先级,非规范方式,不建议使用(继承无用)

标签 + 类与单类:
标签 + 类 > 单类

群组优先级:
群组选择器与单一选择器的优先级相同,靠后写的优先级高

层次优先级:
权重比较
约分比较


## CSS盒子模型

组成:content -> padding -> border -> margin
content:内容区域,width和height组成
padding:内边距(内填充)
margin:外边距(外填充)
注:背景颜色会填充到margin以内的区域(不包括margin区域)
padding不能为负数,而margin可以为负数

box-sizing:
box-sizing属性允许以特定的方式定义匹配某个区域的特定元素,取值为content-box(默认值)|border-box
(盒尺寸,可以改变盒子模型的展示形态)
content-box:width、height -> content
border-box:width、height -> content padding border

盒子模型的一些问题:
margin叠加问题,出现在上下margin同时存在时,会取上下值中较大的作为叠加的值
margin传递问题,出现在嵌套的结构中,只是针对margin-top的问题

margin自适应居中:
margin:auto


## 标签分类

按类型分类:
block:块
(div、p、ul、li、h1…)
特性:独占一行、支持所有样式、不写宽度时与父元素的宽相同、所占区域是一个矩形
inline:内联(行内)
(span、a、em、strong、img…)
特性:左右排列并不独占一行、不支持某些样式如宽高、宽度由内容决定、所占区域不一定是一个矩形、内联标签之间会有空隙(换行产生的)
inline-block:内联块
(input、select…)
特性:并排一起但是支持宽高
注:布局一般用块标签,修饰文本一般用内联标签

按内容划分:
Flow:流内容
Metadata:元数据 base、link、noscript、script、style、template、title
Sectioning:分区 article、aside、nav、section
Heading:标题 h1、h2、h3…
Phrasing:措辞 a、audio、button、data、del…
Embedded:嵌入的 audio、canvas、embed、iframe、img、math、object、picture、svg、video
Interactive:互动的 a、button、img、label、select

按显示划分:
替换元素:浏览器根据元素的标签和属性,来决定元素的具体显示内容
非替换元素:将内容直接告诉浏览器,将其显示出来


## 显示框类型

display:block
inline
inline-block
none
















































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值