学习完本课程后,能够:
HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。
中文名 : 超文本标记语言 | 阅读方式 : 网页浏览器 |
外文名 : Hyper Text Markup Language | 外语缩写 : HTML |
类 型 : 标记语言 | 文件扩展名 : html 或 htm |
HTML历史上有如下版本:
W3C
World Wide Web Consortium(万维网联盟)
成立于1994年,Web技术领域最权威和具有影响力的国际中立性技术标准机构
http://www.w3.org/
http://www.chinaw3c.org/
W3C标准包括
结构化标准语言(HTML 、XML)
表现标准语言(CSS3)
行为标准(DOM 、ECMAScript)
doctype html>
<html>
<head>
<title>hellotitle>
<meta charset="UTF-8" />
head>
<body>
hello html ~
body>
html>
注:gb2312 包含全部中文字符
utf-8 包含全世界所有国家需要用到的字符
页面编码应与页面文件保存时的编码一致
doctype html>
<html>
<head>
<title>基本标签title>
<meta charset="UTF-8" />
head>
<body>
<h1>一级标题h1>
<h2>二级标题h2>
<h3>三级标题h3>
<h4>四级标题h4>
<h5>五级标题h5>
<h6>六级标题h6>
body>
html>
doctype html>
<html>
<head>
<title>基本标签title>
<meta charset="UTF-8" />
head>
<body>
<h1>北京欢迎你h1>
<p>北京欢迎你,有梦想谁都了不起p>
<p>有勇气就会有奇迹p>
body>
html>
doctype html>
<html>
<head>
<title>基本标签title>
<meta charset="UTF-8" />
head>
<body>
<h1>北京欢迎你h1>
<p>
北京欢迎你,有梦想谁都了不起 <br />
有勇气就会有奇迹
p>
body>
html>
doctype html>
<html>
<head>
<title>基本标签title>
<meta charset="UTF-8" />
head>
<body>
<h1>北京欢迎你h1>
<hr />
<p>
北京欢迎你,有梦想谁都了不起!<br />
有勇气就会有奇迹。
p>
body>
html>
加粗:… 或 …
斜体:… 或 …
doctype html>
<html>
<head>
<title>基本标签title>
<meta charset="UTF-8" />
head>
<body>
<strong>霍世元简介strong>
<p>
<em>年龄: em>24<br />
<em>性别: em>男<br />
p>
body>
html>
常见的图像格式:JPG ,GIF , PNG , BMP
doctype html>
<html>
<head>
<title>图像标签title>
<meta charset="UTF-8" />
head>
<body>
<img src="image/hetao.jpg" alt="text" title="哈哈哈" width="300px" height="350px" />
<p>好吃不贵的核桃p>
<p>10元3斤p>
body>
html>
练习1:使用学过的图像标签、标题标签、水平线标签、斜体标签、加粗标签、段落标签等制作自我介绍。
_blank:新建空白页打开
_self:默认样式,更改当前页面的访问路径,不会打开新的页面
doctype html>
<html>
<head>
<title>页面间链接title>
<meta charset="UTF-8" />
head>
<body>
<a href="demo03.html" target="_blank">链接到demo03图像标签案例a><br/>
<a href="demo04.html" target="_self">
<img src="image/hetao.jpg" alt="核桃图片" title="买核桃吗?走过路过不要错过" />
a>
body>
html>
doctype html>
<html>
<head>
<title>锚链接title>
<meta charset="UTF-8" />
head>
<body>
<a name="_top">HTML从入门到精通a>
<h6>你好HTMLh6>
<h6>你好HTMLh6>
<h6>你好HTMLh6>
<h6>你好HTMLh6>
<h6>你好HTMLh6>
<h6>你好HTMLh6>
<h6>你好HTMLh6>
<h6>你好HTMLh6>
<h6>你好HTMLh6>
<h6>你好HTMLh6>
<h6>你好HTMLh6>
<h6>你好HTMLh6>
<a href="#_top">回到顶部a>
<br><br><br><br>
body>
html>
doctype html>
<html>
<head>
<title>外部链接title>
<meta charset="UTF-8" />
head>
<body>
<a href="http://www.baidu.com" target="_blank">百度a>
<a href="http://www.csdn.com" target="_self">CSDNa>
<a href="mailto:1691655063@qq.com">点击联系我a>
body>
html>
块元素:无论内容多少,该元素独占一行(p、h1-h6 …)
行内元素:内容撑开宽度,左右都是行内元素的可以排在一行(a,strong,em、img …)
doctype html>
<html>
<head>
<title>行内元素和块元素title>
<meta charset="UTF-8" />
head>
<body>
<p>我是P元素p>
<h1>我是标题1h1>
<a href="#">我是超链接a元素a>
<strong>我是strong元素--加粗strong>
<em>我是em元素--斜体em>
body>
html>
练习2:超链接
列表就是信息资源的一种展示形式。它可以使信息结构化和条理化,并以列表的样式显示出来,以便浏览者能更快捷地获得相应的信息。
doctype html>
<html>
<head>
<title>列表title>
<meta charset="UTF-8" />
head>
<body>
<ul type="disc">
<li>山西省li>
<li>河北省li>
<li>山东省li>
<li>陕西省li>
<li>......li>
ul>
body>
html>
一般用于无序类型的列表,如导航,侧边栏新闻、有规律的图文组合模块等
doctype html>
<html>
<head>
<title>列表title>
<meta charset="UTF-8" />
head>
<body>
<ol type="1" start="1">
<li>太原市li>
<li>长治市li>
<li>晋城市li>
<li>运城市li>
<li>......li>
ol>
body>
html>
一般用于排序类型的列表,如试卷、问卷选项等
doctype html>
<html>
<head>
<title>列表title>
<meta charset="UTF-8" />
head>
<body>
<dl>
<dt>山西省dt>
<dd>太原市dd>
<dd>长治市dd>
<dd>晋城市dd>
<dd>......dd>
<dt>河北省dt>
<dd>石家庄市dd>
<dd>邢台市dd>
<dd>邯郸市dd>
<dd>......dd>
dl>
body>
html>
练习1:热门活动
练习2:制作音乐排行榜
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>表格title>
head>
<body>
<table border="1px">
<tr>
<td> 11 td>
<td> 12 td>
<td> 13 td>
tr>
<tr>
<td> 21 td>
<td> 22 td>
<td> 23 td>
tr>
<tr>
<td> 31 td>
<td> 32 td>
<td> 33 td>
tr>
table>
body>
html>
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>表格title>
head>
<body>
<table border="1px">
<tr>
<td colspan="2">11td>
<td>13td>
tr>
<tr>
<td>21td>
<td>22td>
<td rowspan="2">23td>
tr>
<tr>
<td>31td>
<td>32td>
tr>
table>
body>
html>
练习3:学生成绩表
doctype html>
<html>
<head>
<title>列表title>
<meta charset="UTF-8" />
head>
<body>
<video src="video/html.mp4" controls>video>
body>
html>
doctype html>
<html>
<head>
<title>音频title>
<meta charset="UTF-8" />
head>
<body>
<audio src="video/music.mp3" controls>audio>
body>
html>
doctype html>
<html>
<head>
<title>布局title>
<meta charset="UTF-8" />
<style>
header,
section,
footer {
height: 200px;
border: 1px solid red;
}
style>
head>
<body>
<header>
<h2>网页头部h2>
header>
<section>
<h2>网页主体部分h2>
section>
<footer>
<h2>网页底部h2>
footer>
body>
html>
doctype html>
<html>
<head>
<title>iframetitle>
<meta charset="UTF-8" />
head>
<body>
<iframe src="demo04.html" name="mainFrame">iframe>
body>
html>
设置src的属性值为 http://www.bdqn.cn 在这个页面中也可以打开一个线上的网页
doctype html>
<html>
<head>
<title>iframetitle>
<meta charset="UTF-8" />
head>
<body>
<a href="demo04.html" target="mainFrame">下边显示demo04页面a> <br />
<a href="demo03.html" target="mainFrame">下边显示demo03页面a> <br />
<a href="demo02.html" target="mainFrame">下边显示demo02页面a> <br />
<iframe src="demo01.html" name="mainFrame">iframe>
body>
html>
表单基本结构
doctype html>
<html>
<head>
<title>表单title>
<meta charset="UTF-8" />
head>
<body>
<form method="get" action="#">
名字:<input name="name" type="text" value="霍" /> <br />
密码:<input name="pass" type="password"> <br />
<input type="submit" name="Button" value="提交" />
<input type="reset" name="Reset" value="重填" /> <br />
form>
body>
html>
常用属性与属性值
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>form表单title>
head>
<body>
<form method="post" action="#">
<h3>注册表单h3>
用户名:<input type="text" name="user" size="8" maxlength="8" /> <br />
密码:<input type="password" name="pwd" /> <br />
爱好:
<input type="checkbox" name="like" value="1" />篮球
<input type="checkbox" name="like" value="2" />足球
<input type="checkbox" name="like" value="3" checked />排球 <br />
性别:
<input type="radio" name="sex" value="1" checked />男
<input type="radio" name="sex" value="2" />女 <br />
城市:
<select name="city">
<option value="1">北京option>
<option value="2" selected>上海option>
select> <br />
自我描述:
<textarea name="text" cols="20" rows="3">文本内容textarea> <br />
头像:
<input type="file" name="path" /> <br />
<input type="submit" name="butSubmit" value="提交" />
<input type="reset" name="butReset" value="重填" />
<input type="button" name="butButton" value="按钮" /> <br />
<input type="image" src="image/login.gif" /> <br />
form>
body>
html>
输入框格式校验
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>form表单title>
head>
<body>
<form method="get" action="#">
邮箱:<input type="email" name="email" /> <br />
输入网址:<input type="url" name="userUrl" /> <br />
输入数字:<input type="number" name="num" min="0" max="100" step="10"> <br />
输入数字:<input type="range" name="num" min="0" max="100" step="10"> <br />
输入关键词:<input type="search" name="sousou" /> <br />
<input type="submit" value="提交" />
form>
body>
html>
练习1:注册表单
隐藏域 ; 只读 ; 禁用 相关属性
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>form表单title>
head>
<body>
<form method="get">
<input type="hidden" value="666" name="userid" /> <br />
<input name="name" type="text" value="张三" readonly /> <br />
<input type="button" disabled value="保存" /> <br />
<input type="submit" value="提交" />
form>
body>
html>
表单元素的标注
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>form表单title>
head>
<body>
<form method="get">
性别:
<label for="man">男label>
<input type="radio" name="sex" id="man" value="1" />
<label for="woman">女label>
<input type="radio" name="sex" id="woman" value="0" />
form>
body>
html>
练习2要求:
表单验证的好处:减轻服务器的压力;保证数据的可行性和安全性;
placeholder ;required ; pattern 用法
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>form表单title>
head>
<body>
<form method="get">
搜索:<input type="text" name="name" placeholder="请输入要搜索的关键字" /><br>
<input type="text" name="username" required /> <br>
手机号: <input type="text" name="phone" required pattern="1[3578]\d{9}" /><br>
<input type="submit" value="提交" />
form>
body>
html>
层叠样式表: 是一种用来表现HTML或XML等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
中文名 : 层叠样式表 | 外语缩写 :CSS(也作文件扩展名) |
外文名 : Cascading Style Sheets | 其他称呼 : 级联样式表 |
CSS的最后一条声明后的“;”可写可不写,但是,基于W3C标准规范考虑,建议最后一条声明的结束“;” 都要写上
doctype html>
<html>
<head>
<title>CSStitle>
<meta charset="UTF-8" />
head>
<body>
<h1 style="color: red;">style属性的应用h1>
<p style="font-size: 14px; color:green">style行内样式p>
body>
html>
doctype html>
<html>
<head>
<title>CSStitle>
<meta charset="UTF-8" />
<style>
h1 {
color: red;
}
p {
font-size: 14px;
color: green
}
style>
head>
<body>
<h1>style标签的应用h1>
<p>style内部样式p>
body>
html>
优点:方便在同页面中修改样式
缺点:不利于在多页面间共享复用代码及维护,对内容与样式的分离也不够彻底
链接外部样式
doctype html>
<html>
<head>
<title>CSStitle>
<meta charset="UTF-8" />
<link href="css/style.css" rel="stylesheet" type="text/css">
head>
<body>
<h1>link标签引入css样式h1>
<p>外部样式--链接外部样式p>
body>
html>
doctype html>
<html>
<head>
<title>CSStitle>
<meta charset="UTF-8" />
<style type="text/css">
@import url("css/style.css");
style>
head>
<body>
<h1>style标签引入css样式h1>
<p>外部样式--导入外部样式p>
body>
html>
就近原则 行内样式>内部样式表/外部样式表(谁后加载使用谁)
标签选择器 ; 类选择器 ; ID选择器;
doctype html>
<html>
<head>
<title>CSStitle>
<meta charset="UTF-8" />
<style type="text/css">
/* 标签选择器:h1 p img a .....
直接应用于HTML标签*/
h2 {
color: blue;
}
/* 类选择器 可在页面中多次使用*/
.name {
color: aqua;
}
/* id选择器 同一个页面中只能使用一次(自觉遵守)*/
#gc {
color: yellow;
}
style>
head>
<body>
<h2>童话h2>
<h3 class="name">光良h3>
<p id="gc">我愿变成童话里 你爱的那个天使p>
<p>张开双手 变成翅膀守护你p>
body>
html>
练习一 要求:
中,超链接使用,图片使用
后代选择器 ;子选择器 ; 相邻兄弟选择器 ;通用兄弟选择器
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>层次选择器title>
<style type="text/css">
p,
ul {
border: 1px solid red;
/*边框属性*/
}
/*后代选择器*/
/* body p {
background: red;
} */
/*子选择器*/
/* body>p {
background: pink;
} */
/*相邻兄弟选择器 只有一个,相邻(向下)*/
/* .active+p {
background: green;
} */
/* 通用兄弟选择器 */
/* .active~p {
background: yellow;
} */
style>
head>
<body>
<p class="active">1p>
<p>2p>
<p>3p>
<ul class="c4">
<li>
<p>4p>
li>
<li>
<p>5p>
li>
<li>
<p>6p>
li>
ul>
body>
html>
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>结构伪类选择器title>
<style>
/*ul的第一个子元素*/
/* ul li:first-child {
background: red;
} */
/*ul的最后一个子元素*/
/* ul li:last-child {
background: green;
} */
/* 选择当前p元素的父级元素,选中父级元素的第一个,并且是当前元素才生效 顺序*/
/* p:nth-child(1) {
background: yellow;
} */
/*父元素里第2个类型为p的元素 类型*/
/* p:nth-of-type(2) {
background: blue;
} */
style>
head>
<body>
<p>p1p>
<p>p2p>
<p>p3p>
<ul>
<li>li1li>
<li>li2li>
<li>li3li>
ul>
body>
html>
使用F:nth-child(n)和F:nth-of-type(n)的关键点
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>属性选择器title>
<style type="text/css">
.demo a {
float: left;
display: block;
height: 50px;
width: 50px;
border-radius: 10px;
text-align: center;
background: #aac;
color: blue;
font: bold 20px/50px Arial;
margin-right: 5px;
text-decoration: none;
margin: 5px;
}
/* 存在属性id的元素 */
/* a[id] {
background: yellow;
} */
/* 属性id=first的元素 */
/* a[id=first] {
background: red;
} */
/* 属性class="links"的元素 */
/* a[class="links"] {
background: red;
} */
/* 属性class里包含links字符串的元素 */
/* a[class*=links] {
background: red;
} */
/* 属性href里以http开头的元素 */
/* a[href^=http] {
background: red;
} */
/* 属性href里以png结尾的元素 */
/* a[href$=png] {
background: red;
} */
style>
head>
<body>
<p class="demo">
<a href="http://www.baidu.com" class="links item first" id="first">1a>
<a href="" class="links active item" title="test website" target="_blank">2a>
<a href="sites/file/test.html" class="links item">3a>
<a href="sites/file/test.png" class="links item"> 4a>
<a href="sites/file/image.jpg" class="links item">5a>
<a href="efc" class="links item" title="website link">6a>
<a href="/a.pdf" class="links item">7a>
<a href="/abc.pdf" class="links item">8a>
<a href="abcdef.doc" class="links">9a>
<a href="abd.doc" class="linksitem last" id="last">10a>
p>
body>
html>
= 绝对等于 *=包含这个元素 ^=以这个开头 $=以这个结尾
css优点:
doctype html>
<html>
<head>
<title>CSS 字体样式title>
<meta charset="UTF-8" />
<style>
#title1 {
color: aqua;
font-size: 20px;
}
style>
head>
<body>
我喜欢学习,<span id="title1">学习使我快乐span>
body>
html>
doctype html>
<html>
<head>
<title>CSS 字体样式title>
<meta charset="UTF-8" />
<style>
body {
/* 字体类型 Times New Roman*/
font-family: "Times New Roman", "楷体";
}
h1 {
/* 字体大小 px em rem */
font-size: 30px;
}
.p1 {
/* 字体粗细 bold(加粗) bolder(更粗) lighter(更细) normal(默认 标准)*/
font-weight: bold;
/* 字体风格 italic(斜体) normal(默认 正常) oblique(倾斜) */
font-style: oblique;
}
h3 {
/* 斜体 加粗 字号 字体 */
font: italic bold 20px "微软雅黑";
}
style>
head>
<body>
<h1>京东商城――全部商品分类h1>
<h3>图书、音像、电子书刊h3>
<p class="p1">
电子书刊 电子书 网络原创 数字杂志 多媒体图书目
音像音乐 影视 教育音像
经管励志 经济 金融与投资 管理 励志与成功
p>
body>
html>
doctype html>
<html>
<head>
<title>CSS 文本样式title>
<meta charset="UTF-8" />
<style>
body {
/* 文本颜色 十六进制方法表示颜色(红绿蓝)*/
color: blue;
color: #EEFF66;
/* 控制alpha透明度的参数 值0-1 越小越模糊 */
color: rgba(0, 0, 255, 0.5);
}
h1 {
/* 元素水平对齐方式 left right center justify(两端对齐)*/
text-align: right;
}
.p1 {
/* 首行文本缩进 em px */
text-indent: 20px;
/* 文本行高 px */
line-height: 25px;
/* 文本装饰 none(默认) underline(下划线) overline(上划线) */
text-decoration: underline;
}
img,
#align {
/* 垂直对齐方式 middle(中) top(上) bootom(下) */
vertical-align: middle;
}
h3 {
/* text-shadow: 阴影颜色 x轴水平位移量 y轴垂直位移量 模糊半径 */
text-shadow: aqua 10px 10px 10px;
}
style>
head>
<body>
<h1>京东商城――全部商品分类h1>
<h3>图书、音像、电子书刊h3>
<p class="p1">
电子书刊 电子书 网络原创 数字杂志 多媒体图书目
音像音乐 影视 教育音像
经管励志 经济 金融与投资 管理 励志与成功
p>
<img src="image/icon.gif" />
<span id="align">
图片与文本垂直对齐方式
span>
body>
html>
练习一:
练习二:
doctype html>
<html>
<head>
<title>CSS 超链接伪类 title>
<meta charset="UTF-8" />
<style>
/* 未单击访问时超链接样式 */
a:link {
color: red;
}
/* 单击访问后超链接样式 */
a:visited {
color: yellow;
}
/* 鼠标悬浮其上的超链接样式 */
a:hover {
color: black;
}
/* 鼠标单击未释放的超链接样式 */
a:active {
color: aqua;
}
style>
head>
<body>
<a href="http://www.baidu.com" target="_blank">
百度
a>
body>
html>
doctype html>
<html>
<head>
<title>CSS 项目符号 title>
<meta charset="UTF-8" />
<style>
li {
/* list-style-type 设置项目符号类型
disc:默认实心圆 circle:空心圆
square: 方块 none:没有 */
list-style-type: circle;
}
style>
head>
<body>
<h3>喜欢的歌手h3>
<ul>
<li>薛之谦li>
<li>周杰伦li>
<li>邓紫棋li>
ul>
body>
html>
doctype html>
<html>
<head>
<title>CSS 背景颜色 title>
<meta charset="UTF-8" />
<style>
li {
list-style-type: circle;
}
div {
width: 120px;
/* 背景颜色 */
background-color: aqua;
}
h3 {
width: 120px;
background-color: salmon;
}
style>
head>
<body>
<div>
<h3>喜欢的歌手h3>
<ul>
<li>薛之谦li>
<li>周杰伦li>
<li>邓紫棋li>
ul>
div>
body>
html>
doctype html>
<html>
<head>
<title>CSS 背景图像 title>
<meta charset="UTF-8" />
<style>
div {
width: 400px;
height: 400px;
border: 1px solid red;
/* 设置背景图像 */
background-image: url("image/1.jpg");
}
.div1 {
/* 背景图像重复方式 repeat(沿水平垂直两个方向平铺) no-repeat(不平铺)
repeat-x(只沿水平方向平铺) repeat-y(只沿垂直方向平铺) */
background-repeat: no-repeat;
/* 背景定位 background-position */
/* 1. s y 坐标表示位置 单位px x(水平) y(垂直) */
/* background-position: 10px 30px; */
/* 2. 百分比表示位置 */
/* background-position: 10% 50%; */
/* 3.x y 方向关键词 水平(left center right)
垂直(top center bottom) */
/* background-position: right bottom; */
}
.div2 {
/* background: 背景颜色 背景图像 图像位置 是否重复显示*/
background: #c00 url(image/icon.gif) left center no-repeat;
}
style>
head>
<body>
<div class="div1">div>
<div class="div2">div>
body>
html>
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>背景尺寸title>
<style>
div {
width: 200px;
height: 130px;
border: 1px solid red;
background: url("image/1.jpg") no-repeat;
/* background-size(背景图片尺寸设置) auto(默认 保持图片原样)*/
/* background-size: auto; */
/* background-size: 120px 60px; */
/* background-size: 120px; */
/* background-size: 50% 80%; */
/* cover(整个背景图片放大填充了整个元素) */
/* background-size: cover; */
/* contain 保持原图像尺寸比例,最大限度显示整张图片 */
background-size: contain;
}
style>
head>
<body>
<div>div>
body>
html>
颜色沿着一条直线过渡:从左到右,从右到左,从上到下等
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>CSS3线性渐变title>
<style>
div {
width: 100px;
height: 100px;
/*to top*/
background: linear-gradient(to top, orange, blue);
/* background: -webkit-linear-gradient(to top, orange, blue); */
/*-webkit-*/
/*to bottom*/
/* background: linear-gradient(to bottom, orange, blue); */
/*background: -webkit-linear-gradient(to bottom, orange, blue);*/
/*to left*/
/* background: linear-gradient(to left, orange, blue); */
/*background: -webkit-linear-gradient(to left, orange, blue);*/
/*to right*/
/* background: linear-gradient(to right, orange, blue); */
/*background: -webkit-linear-gradient(to right, orange, blue);*/
/*to top left*/
/* background: linear-gradient(to top left, orange, blue); */
/*background: -webkit-linear-gradient(to top left, orange, blue);*/
/*to top right*/
/* background: linear-gradient(to top right, orange, blue); */
/*background: -webkit-linear-gradient(to top right, orange, blue);*/
/*to bottom left*/
/* background: linear-gradient(to bottom left, orange, blue); */
/*background: -webkit-linear-gradient(to bottom left, orange, blue);*/
/*to bottom right*/
/* background: linear-gradient(to bottom right, orange, blue); */
/*background: -webkit-linear-gradient(to bottom right, orange, blue);*/
}
style>
head>
<body>
<div>div>
body>
html>
圆形或椭圆形渐变,颜色不再沿着一条直线变化,而是从一个起点朝所有方向混合
练习三:
border-color(颜色)
border-width(边框宽度):px
border-style(样式):solid(实线);dashed(虚线);double(双线);
dotted(圆点虚线); hidden(隐藏); none(无边框);
border:粗细 样式 颜色
margin :0
margin:0 auto; 网页居中对齐
margin: 0 1px 上下 左右;
margin:0 1px 2px 3px 上 右 下 左
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>边框title>
<style>
.box{
width: 298px; /* 盒子宽度298px*/
/* border:粗细 样式 颜色*/
border:1px solid #3a6587; /* 设置盒子边框*/
margin:0 auto; /* 网页元素居中对齐 */
/* margin:0 auto; 居中要求:
块元素,块元素有固定的宽度 */
}
h2{
font-size:16px;
background-color:#3a6587;
height:35px;
line-height:35px;
color:#FFF;
/* margin :0
margin:0 auto; 网页元素居中对齐
margin: 0 1px 上下 左右;
margin:0 1px 2px 3px 上 右 下 左 */
}
form{
background: #c8ece3;
}
div:nth-of-type(1)>input{
border: 3px solid black; /* 第一个div下面的input元素设置边框3px 实线 黑色*/
}
div:nth-of-type(2)>input{
border: 1px dashed red; /* 第二个div下面的input元素设置边框1px 虚线 红色*/
}
div:nth-of-type(3)>input{
border: 2px dotted red; /* 第三个div下面的input元素设置边框2px 点线 红色*/
}
style>
head>
<body>
<div class="box">
<h2>会员登录h2>
<form action="#">
<div>
<strong class="name">姓名:strong>
<input type="text"/>
div>
<div>
<strong class="name">邮箱:strong>
<input type="text"/>
div>
<div>
<strong class="name">电话:strong>
<input type="text"/>
div>
form>
div>
body>
html>
元素大小=border+padding+margin+内容宽度
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>圆角边框title>
<style>
div{
width: 100px;
height: 100px;
border: 1px solid red;
/* 设置圆角边框 四个属性值按顺时针排列 */
/* border-radius: 20px 10px 50px 30px; */
/* 椭圆 水平/垂直 */
/* border-radius: 10px / 30px; */
/* 圆 圆角=半径 */
/* border-radius: 50%; */
/* 半圆 元素的宽度是高度的2倍,而且圆角半径为元素的高度值 */
/* border-radius: 100px 100px 0 0; */
/* 扇形 元素宽度、高度、圆角半径相同 圆角取值位置不同 */
/* border-radius: 100px 0 0 0; */
}
style>
head>
<body>
<div>div>
body>
html>
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>阴影title>
<style>
div{
width: 100px;
height: 100px;
border: 10px solid red;
/* 阴影:类型(内阴影) x轴位移 y轴位移 模糊半径 颜色 */
box-shadow: inset 10px 10px 50px yellow;
/* 不写类型为外阴影 */
}
style>
head>
<body>
<div>div>
body>
html>
指元素根据块元素或行内元素的特性按从上到下,从左到右的方式自然排列。这也是元素默认的排列方式。
标准文档流组成
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>浮动title>
<style>
div{
width:100px;
height:100px;
border:1px solid red;
display: inline; /* 将div设置为行内元素 */
}
span{
width:100px;
height:100px;
border:1px solid red;
display:block; /* 将span设置为块元素 */
}
style>
head>
<body>
<div>
div 块元素
div>
<span>
span 行内元素
span>
body>
html>
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>浮动title>
<style>
div {
margin:10px;
padding:5px;
}
#father {
border:1px #000 solid;
}
/* float 浮动 left 左浮动 right 右浮动 none 无浮动*/
.layer01 {
border:1px #F00 dashed;
float: right;
}
.layer02 {
border:1px #00F dashed;
float: right;
}
.layer03 {
border:1px #060 dashed;
float: right;
}
.layer04 {
border:1px #666 dashed;
font-size:12px;
line-height:23px;
float: right;
}
style>
head>
<body>
<div id="father">
<div class="layer01"><img src="image/hd.jpg" alt="前端"/>div>
<div class="layer02"><img src="image/qd.jpg" alt="后端"/>div>
<div class="layer03"><img src="image/sjk.jpg" alt="数据库"/>div>
<div class="layer04">
浮动的盒子可以向左浮动,也可以向右浮动,直到它的外边缘碰到包含框或另一个浮动盒子为止。这里使用这三个图片和本段文字来演示讲解浮动在网页中的应用,根据需要图片所在的div分别向左浮动、向右浮动,或者不浮动。
div>
div>
body>
html>
clear
/* clear:right; 右侧不允许有浮动元素
clear:left; 左侧不允许有浮动元素
clear:both; 两侧不允许有浮动元素
clear:none;*/
解决方案:
#father {
border:1px solid #000;
height: 600px;
}
<div class="clear">div>
.clear{
clear: both;
}
#father {
overflow: hidden;
}
#father:after{
content: '';
display: block;
clear: both;
}
小结:
浮动元素后面加空div
简单,空div会造成HTML代码冗余
设置父元素的高度
简单,元素固定高会降低扩展性
父级添加overflow属性
简单,下拉列表框的场景不能用
父级添加伪类after
写法比上面稍微复杂一点,但是没有副作用,推荐使用
position属性
static (默认值,没有定位);relative (相对定位) ;
absolute (绝对定位) ; fixed (固定定位)
position: relative; 相对于原来的位置,进行指定的偏移。相对定位的话,它任然在标准文档流中,原来的位置会被保留
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>相对定位title>
<style>
div{
margin: 10px;
padding: 5px;
font-size: 12px;
line-height: 25px;
}
#father{
border: 1px solid #666;
padding: 0;
}
#first{
border: 1px dashed #b27530;
background-color: #a13d30;
/* 相对定位 */
position: relative;
top: -20px; /* 向上移 */
left: 20px; /* 向右移 */
}
#second{
border: 1px dashed #255066;
background-color: #255066;
}
#third{
border: 1px dashed #1c6615;
background-color: #1c6699;
position: relative;
bottom: -10px; /* 向下移 */
right: 20px; /* 向左移 */
}
style>
head>
<body>
<div id="father">
<div id="first">第一个盒子div>
<div id="second">第二个盒子div>
<div id="third">第三个盒子div>
div>
body>
html>
练习
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>绝对定位title>
<style>
div{
margin: 10px;
padding: 5px;
font-size: 12px;
line-height: 25px;
}
#father{
border: 1px solid #666;
padding: 0;
/* 父级元素 相对定位 */
position: relative;
}
#first{
border: 1px dashed #b27530;
background-color: #a13d30;
}
#second{
border: 1px dashed #255066;
background-color: #255066;
/* 绝对定位 */
position: absolute;
right: 30px;
top:-10px;
}
#third{
border: 1px dashed #1c6615;
background-color: #1c6699;
}
style>
head>
<body>
<div id="father">
<div id="first">第一个盒子div>
<div id="second">第二个盒子div>
<div id="third">第三个盒子div>
div>
body>
html>
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>固定定位title>
<style>
body{
height: 100px;
}
/* 绝对定位;相对于浏览器 */
div:nth-of-type(1){
width: 100px;
height: 100px;
background: red;
position: absolute;
right: 0;
bottom: 0;
}
div:nth-of-type(2){
width: 50px;
height: 50px;
background: yellow;
/* 固定定位 */
position: fixed;
right: 0;
bottom: 0;
}
style>
head>
<body>
<div>div1div>
<div>div2div>
body>
html>
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>z-indextitle>
<style>
#content{
width: 300px;
padding: 0px;
margin: 0px;
overflow: hidden;
font-size: 12px;
line-height: 25px;
border: 1px solid #000;
}
ul,li{
padding: 0px;
margin: 0px;
list-style: none;
}
/* 父级元素相对定位 */
#content ul{
position: relative;
}
.tipText, .tipBg{
position: absolute;
width: 300px;
height: 25px;
top: 120px;
}
.tipText{
color: white;
/* 设置层级 数值大的在上面 */
z-index: 2;
}
.tipBg{
background-color: #000;
/* 设置背景透明度 值为0-1 值越小越透明*/
/* opacity: 0.5; */
}
style>
head>
<body>
<div id="content">
<ul>
<li><img src="images/hd.jpg" alt=""/>li>
<li class="tipText">html java mysqlli>
<li class="tipBg" >li>
<li>2022-11-12li>
<li>yyds_it_huoli>
ul>
div>
body>
html>
CSS3是CSS(层叠样式表)技术的升级版本。CSS3完全向后兼容,不必改变现有的设计,浏览器将永远支持CSS2。W3C的CSS3规范仍在开发。但是,许多新的CSS3属性已在现代浏览器使用。
内核 | 前缀 | 浏览器 |
---|---|---|
Gecko内核 | -moz- | 火狐 |
Webkit内核(谷歌) | -webkit- | chrom;360;世界之窗等 |
Trident内核 | -ms- | IE |
Presto内核 | -o- | opera |
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>浏览器私有前缀title>
<style>
div{
font-size: 100px;
-webkit-text-stroke: 1px #f00;
}
style>
head>
<body>
<div>哈哈哈div>
body>
html>
在实际使用中通常将所有前缀写一遍后,标准的写在最后
CSS3变形是一些效果的集合 如平移、旋转、缩放、倾斜效果
每个效果都可以称为变形(transform),它们可以分别操控元素发生平移、旋转、缩放、倾斜等变化 。
Transform 2D的属性
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>transform 的使用title>
<style>
#box1{
width: 200px;
height: 200px;
margin: 100px;
border: 1px solid blue;
background-color: aqua;
}
#box1:hover{
/* 水平和垂直方向移动函数:translate*/
/* 向右移动 */
/* transform: translate(30px); */
/* 向右下角移动 */
/* transform: translate(30px,30px); */
/* 向上移动 */
/* transform: translate(0px,-10px); */
/* 旋转函数:rotate */
/* 顺时针旋转20度 */
/* transform: rotate(20deg); */
/* 缩放函数:scale */
/* 值为1 大小不变 小于1 缩小 大于1 放大
支持两个参数 水平方向和垂直方向的缩放*/
/* transform: scale(0.5); */
/* 倾斜函数:skew */
/* transform: skew(40deg,30deg); */
}
style>
head>
<body>
<div id="box1">div>
body>
html>