注:以下下内容为观看**尚硅谷HTML5,CSS3前端教程(李立超主讲html5、css3)**笔记总结
meta主要用于设置网页中的一些元数据,元数据不是给用户看
使用举例:
<meta name="Keywords" content="网上购物,网上商城,手机,笔记本,电脑,MP3,CD,VCD,DV,相机,数码,配件,手表,存储卡,京东"/>
<meta name="keywords" content="网购,网上购物,在线购物,网购网站,网购商城,购物网站,网购中心,购物中心,卓越,亚马逊,卓越亚马逊,亚马逊中国,joyo,amazon">
<meta name="description" content="京东JD.COM-专业的综合网上购物商城,销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品.便捷、诚信的服务,为您提供愉悦的网上购物体验!"/>
在网页中HTML专门用来负责网页的结构。所以在使用html标签时,应该关注的是标签的语义,而不是它的样式。
标签举例:
<hgroup>
<h1>一级标题h1>
<h2>二级标题h2>
<h3>三级标题h3>
<h4>四级标题h4>
<h5>五级标题h5>
<h6>六级标题h6>
hgroup>
<p>
<h1>哈哈h1>
p>
<p>在p标签中的内容就表示一个段落p>
<p>在p标签中的内容就表示一个段落p>
<p>你今天必须要<strong>完成作业strong>!p>
<p>鲁迅说:
<blockquote>
这句话我是从来没有说过的!
blockquote>
p>
子曰<q>学而时习之,乐呵乐呵!q>
<br>
<header>header>
<main>main>
<footer>footer>
<nav>nav>
<aside>aside>
<article>article>
<section>section>
<div>div>
<span>span>
<ol>
<li>结构li>
<li>表现li>
<li>行为li>
ol>
<ul>
<li>结构li>
<li>表现li>
<li>行为li>
ul>
<dl>
<dt>结构dt>
<dd>结构表示网页的结构,结构用来规定网页中哪里是标题,哪里是段落dd>
<dd>结构表示网页的结构,结构用来规定网页中哪里是标题,哪里是段落dd>
<dd>结构表示网页的结构,结构用来规定网页中哪里是标题,哪里是段落dd>
dl>
<ul>
<li>
aa
<ul>
<li>aa-1li>
<li>aa-2
<ul>
<li>aa-1li>
<li>aa-2li>
ul>
li>
ul>
li>
ul>
超链接可以让我们从一个页面跳转到其他页面,或者是当前页面的其他的位置。
<a href="https://www.baidu.com">超链接a>
属性
<a id="baidu" href="https://www.baidu.com" target="_blank">超链接a>
图片标签用于向当前页面中引入一个外部图片;img标签是一个自结束标签; img这种元素属于替换元素(块和行内元素之间,具有两种元素的特点)。
属性
<img src="./img/1.gif" alt="松鼠">
图片的格式
<iframe src="https://www.qq.com" width="200" height="600" frameborder="0">iframe>
audio 标签用来向页面中引入一个外部的音频文件的,音视频文件引入时,默认情况下不允许用户自己控制播放停止。
属性:
<audio controls>
<source src="./source/audio.mp3">
<source src="./source/audio.ogg">
<embed src="./source/audio.mp3" type="audio/mp3" width="300" height="100">
audio>
使用video标签来向网页中引入一个视频,使用方式和audio基本上是一样的。
<video controls>
<source src="https://v.qq.com/x/page/a0566a610dm.html">
video>
网页分成三个部分:结构(HTML),表现(CSS),行为(JavaScript)
CSS:层叠样式表;网页实际上是一个多层的结构,通过CSS可以分别为网页的每一个层来设置样式;而最终我们能看到只是网页的最上边一层;总之一句话,CSS用来设置网页中元素的样式.
使用CSS来修改元素的样式
<p style="color:red; font-size: 60px;">少小离家老大回,乡音无改鬓毛衰p>
<style>
p{
color: green;
font-size: 50px;
}
style>
<link rel="stylesheet" href="./style.css">
通过选择器对某一页面标签进行CSS设置。
p{
color: red;
}
#red{
color: red;
}
.abc{
font-size: 20px;
}
"red" class="abc">儿童相见不相识
/*
交集选择器
作用:选中同时复合多个条件的元素
语法:选择器1选择器2选择器3选择器n{}
注意点:
交集选择器中如果有元素选择器,必须使用元素选择器开头
*/
div.red{
font-size: 30px;
}
.a.b.c{
color: blue
}
/*
选择器分组(并集选择器)
作用:同时选择多个选择器对应的元素
语法:选择器1,选择器2,选择器3,选择器n{}
*/
h1, .red{
color: green
}
"box">
我是一个div
我是div中的p元素
我是p元素中的span
我是div中的span元素
我是div中的span元素
我是div中的span元素
我是div中的span元素
我是div外的span
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Documenttitle>
<style>
/* p[title]{ */
/* p[title=abc]{ */
/* p[title^=abc]{ */
/* p[title$=abc]{ */
p[title*=e]{
color: orange;
}
style>
head>
<body>
<p title="abc">少小离家老大回p>
<p title="abcdef">乡音无改鬓毛衰p>
<p title="helloabc">儿童相见不相识p>
<p>笑问客从何处来p>
<p>秋水共长天一色p>
<p>落霞与孤鹜齐飞p>
body>
html>
伪类(不存在的类,特殊的类):伪类用来描述一个元素的特殊状态。比如:第一个子元素、被点击的元素、鼠标移入的元素…
伪类一般情况下都是使用:开头
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Documenttitle>
<style>
/*
:first-child 第一个子元素
:last-child 最后一个子元素
:nth-child() 选中第n个子元素
:only-child
特殊值:
n 第n个 n的范围0到正无穷
2n 或 even 表示选中偶数位的元素
2n+1 或 odd 表示选中奇数位的元素
- 以上这些伪类都是根据所有的子元素进行排序
:first-of-type
:last-of-type
:nth-of-type()
:only-of-type
:empty
- 这几个伪类的功能和上述的类似,不通点是他们是在同类型元素中进行排序
:not() 否定伪类
- 将符合条件的元素从选择器中去除
*/
/* ul > li:first-child{
color: red;
} */
/* ul > li:last-child{
color: red;
} */
/* ul > li:nth-child(2n+1){
color: red;
} */
/* ul > li:nth-child(even){
color: red;
} */
/* ul > li:first-of-type{
color: red;
} */
ul > li:not(:nth-of-type(3)){
color: yellowgreen;
}
style>
head>
<body>
<ul>
<span>我是一个spanspan>
<li>第〇个li>
<li>第一个li>
<li>第二个li>
<li>第三个li>
<li>第四个li>
<li>第五个li>
ul>
body>
html>
a元素的伪类
伪元素,表示页面中一些特殊的并不真实的存在的元素(特殊的位置)
伪元素使用 :: 开头
我们为一个元素设置的样式同时也会应用到它的后代元素上
继承是发生在祖先后代之间的
继承的设计是为了方便我们的开发:利用继承我们可以将一些通用的样式统一设置到共同的祖先元素上,这样只需设置一次即可让所有的元素都具有该样式
注意:并不是所有的样式都会被继承:比如背景相关的,布局相关等的这些样式都不会被继承。
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Documenttitle>
<style>
p{
color: red;
background-color: orange;
}
div{
color: yellowgreen
}
style>
head>
<body>
<p>
我是一个p元素
<span>我是p元素中的spanspan>
p>
<span>我是p元素外的spanspan>
<div>
我是div
<span>
我是div中的span
<em>我是span中的emem>
span>
div>
body>
html>
网页是一个多层的结构,一层摞着一层,通过CSS可以分别为每一层来设置样式,作为用户来讲只能看到最顶上一层,这些层中,最底下的一层称为文档流,文档流是网页的基础,我们所创建的元素默认都是在文档流中进行排列
对于我们来元素主要有两个状态:在文档流中以及不在文档流中(脱离文档流)。
元素在文档流中有什么特点:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Documenttitle>
<style>
.box1{
width: 100px;
background-color: yellow;
}
.box2{
width: 100px;
background-color: red;
}
span{
background-color: #bfa;
}
style>
head>
<body>
<div class="box1">我是div1div>
<div class="box2">我是div2div>
<span>我是span1span>
<span>我是span2span>
<span>我是span2span>
<span>我是span2span>
<span>我是span2span>
<span>我是span2span>
<span>我是span2span>
<span>我是span2span>
<span>我是span2span>
<span>我是span2span>
body>
html>
元素中的所有的子元素和文本内容都在内容区中排列,内容区的大小由width 和 height两个属性来设置:width 设置内容区的宽度;height 设置内容区的高度 。
边框属于盒子边缘,边框里边属于盒子内部,出了边框都是盒子的外部,边框的大小会影响到整个盒子的大小,要设置边框,需要至少设置三个样式:
/*
border-width: 10px;
默认值,一般都是 3个像素
border-width可以用来指定四个方向的边框的宽度
值的情况
四个值:上 右 下 左
三个值:上 左右 下
两个值:上下 左右
一个值:上下左右
除了border-width还有一组 border-xxx-width
xxx可以是 top right bottom left
用来单独指定某一个边的宽度
*/
border-width: 10px;
border-top-width: 10px;
border-left-width: 30px;
color: red;
border-bottom: red solid 1px;
/*
border-color用来指定边框的颜色,同样可以分别指定四个边的边框
规则和border-width一样
border-color也可以省略不写,如果省略了则自动使用color的颜色值
*/
border-color: orange red yellow green;
border-color: orange;
/*
border-style 指定边框的样式
solid 表示实线
dotted 点状虚线
dashed 虚线
double 双线
border-style的默认值是none 表示没有边框
border-style: solid dotted dashed double;
border-style: solid;
*/
border-width: 10px;
border-color: orange;
border-style: solid;
/*
border简写属性,通过该属性可以同时设置边框所有的相关样式,并且没有顺序要求
除了border以外还有四个 border-xxx
border-top
border-right
border-bottom
border-left
*/
border: solid 10px orange;
border-top: 10px solid red;
border-left: 10px solid red;
border-bottom: 10px solid red;
/*
一共盒子的可见框的大小,由内容区 内边距 和 边框共同决定,
所以在计算盒子大小时,需要将这三个区域加到一起计算
*/
padding-top: 100px;
padding-left: 100px;
padding-right: 100px;
padding-bottom: 100px;
/*
padding 内边距的简写属性,可以同时指定四个方向的内边距
规则和border-width 一样
*/
/*
margin的简写属性
margin 可以同时设置四个方向的外边距 ,用法和padding一样
margin会影响到盒子实际占用空间
*/
margin-top: 100px;
margin-left: 100px;
margin-bottom: 100px;
margin-right: 0px;
元素在其父元素中水平方向的位置由以下几个属性共同决定:
一个元素在其父元素中,水平布局必须要满足以下的等式:
以上等式必须满足,如果相加结果使等式不成立,则称为过度约束,则等式会自动调整
width: auto;
width: 100px;
height: 200px;
background-color: #bfa;
margin-right: auto;
margin-left: auto;
margin-left: 100px;
margin-right: 400px
/*
1.如果以上属性依次为:
0 + 0 + 0 + 200 + 0 + 0 + 0 = 800
由于其一定要满足等式成立,浏览器会自动修改margin-rigth的值为600
0 + 0 + 0 + 200 + 0 + 0 + 600 = 800
所以:如果这七个值中没有为 auto 的情况,则浏览器会自动调整margin-right值以使等式满足
2.这七个值中有值设置为auto
如果某个值为auto,则会自动调整为auto的那个值以使等式成立
- 如果将一个宽度和一个外边距设置为auto,则宽度会调整到最大,设置为auto的外边距会自动为0
- 如果将三个值都设置为auto,则外边距都是0,宽度最大
- 如果将两个外边距设置为auto,宽度固定值,则会将外边距设置为相同的值
所以我们经常利用这个特点来使一个元素在其父元素中水平居中
示例:
width:xxxpx;
margin:0 auto;
3.总结:
1.如果没有设置以上七个值,则自动填充的父元素
2.如果设置了以上七个值:
- 没有auto:如果设置了width且等式不成立,则自动填充margin-right使等式成立r
- 有auto:
> 如果只有一个auto,则如果等式不成立,则自动填充auto
> 如果width设置为auto,则width自动填充
> 如果width没有设置为auto,则自动填充其他auto
*/
body{
margin: 0;
}
p{
margin: 0;
}
ul{
margin: 0;
padding: 0;
/* 去除项目符号 * /
list-style:none;
}
*{
margin: 0;
padding: 0;
}
outline:用来设置元素的轮廓线,用法和border一模一样,轮廓和边框不同的点,就是轮廓不会影响到可见框的大小
box-shadow:用来设置元素的阴影效果,阴影不会影响页面布局
box-shadow: 0px 0px 50px rgba(0, 0, 0, .3) ;
border-radius: 用来设置圆角 圆角设置的圆的半径大小
border-radius: 20px / 40px;
/* border-top-left-radius: */
/* border-top-right-radius */
/* border-bottom-left-radius: */
/* border-bottom-right-radius: */
/* border-top-left-radius:50px 100px; */
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Documenttitle>
<style>
header, main, footer{
width: 1000px;
margin: 0 auto;
}
/* 设置头部 */
header{
height: 150px;
background-color: silver;
}
/* 设置主体 */
main{
height: 500px;
background-color: #bfa;
margin: 10px auto;
}
nav, article, aside{
float: left;
height: 100%;
}
/* 设置左侧的导航 */
nav{
width: 200px;
background-color: yellow;
}
/* 设置中间的内容 */
article{
width: 580px;
background-color: orange;
margin: 0 10px;
}
/* 设置右侧的内容 */
aside{
width: 200px;
background-color: pink;
}
/* 设置底部 */
footer{
height: 150px;
background-color: tomato;
}
style>
head>
<body>
<header>header>
<main>
<nav>nav>
<article>article>
<aside>aside>
main>
<footer>footer>
body>
html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Documenttitle>
<style>
.outer{
border: 10px red solid;
float: left;
display: inline-block;
overflow: hidden;
}
.inner{
width: 100px;
height: 100px;
background-color: #bfa;
float: left;
}
style>
head>
<body>
<div class="outer">
<div class="inner">div>
div>
<div style="width: 200px;height: 200px;background-color:yellow;">div>
body>
html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Documenttitle>
<style>
.box1{
border: 10px red solid;
/* overflow: hidden; */
}
.box2{
width: 100px;
height: 100px;
background-color: #bfa;
float: left;
}
.box3{
clear: both;
}
.box1::after{
content: '';
clear: both;
display: block;
}
style>
head>
<body>
<div class="box1">
<div class="box2">div>
div>
body>
html>
clearfix
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Documenttitle>
<style>
.box1{
width: 200px;
height: 200px;
background-color: #bfa;
}
/* .box1::before{
content: '';
display: table;
} */
.box2{
width: 100px;
height: 100px;
background-color: orange;
margin-top: 100px;
}
.clearfix::before,
.clearfix::after{
content: '';
display: table;
clear: both;
}
style>
head>
<body>
<div class="box1 clearfix">
<div class="box2">div>
div>
body>
html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Documenttitle>
<style>
body{
font-size: 60px;
}
.box1{
width: 200px;
height: 200px;
background-color: #bfa;
}
.box2{
width: 200px;
height: 200px;
background-color: orange;
position: relative;
left: 100px;
top: -200px;
}
.box3{
width: 200px;
height: 200px;
background-color: yellow;
}
style>
head>
<body>
<div class="box1">1div>
<div class="box2">2div>
<div class="box3">3div>
body>
html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Documenttitle>
<style>
body{
font-size: 60px;
}
.box1{
width: 200px;
height: 200px;
background-color: #bfa;
}
.box2{
width: 200px;
height: 200px;
background-color: orange;
position: absolute;
/* left: 0;
top: 0; */
bottom: 0;
right: 0;
}
.box3{
width: 200px;
height: 200px;
background-color: yellow;
}
.box4{
width: 400px;
height: 400px;
background-color: tomato;
position: relative;
}
.box5{
width: 300px;
height: 300px;
background-color: aliceblue;
/* position: relative; */
}
style>
head>
<body>
<div class="box1">1div>
<div class="box4">
4
<div class="box5">
5
<div class="box2">2div>
div>
div>
<div class="box3">3div>
body>
html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Documenttitle>
<style>
body{
font-size: 60px;
height: 2000px;
}
.box1{
width: 200px;
height: 200px;
background-color: #bfa;
}
.box2{
width: 200px;
height: 200px;
background-color: orange;
position: fixed;
left: 0;
top: 0;
}
.box3{
width: 200px;
height: 200px;
background-color: yellow;
}
.box4{
width: 400px;
height: 400px;
background-color: tomato;
}
.box5{
width: 300px;
height: 300px;
background-color: aliceblue;
}
style>
head>
<body>
<div class="box1">1div>
<div class="box4">
4
<div class="box5">
5
<div class="box2">2div>
div>
div>
<div class="box3">3div>
body>
html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>导航条title>
<link rel="stylesheet" href="./css/reset.css">
<style>
body{
height: 3000px;
}
/* 设置nav的大小 */
.nav{
/* 设置宽度和高度 */
width: 1210px;
height: 48px;
/* 设置背景颜色 */
background-color: #E8E7E3;
margin:100px auto;
position: sticky;
top: 10px;
}
/* 设置nav中li */
.nav li{
/* 设置li向左浮动,已使菜单横向排列 */
float: left;
/* 设置li的高度 */
/* height: 48px; */
/* 将文字在父元素中垂直居中 */
line-height: 48px;
}
/* 设置a的样式 */
.nav a{
/* 将a转换为块元素 */
display: block;
/* 去除下划线 */
text-decoration: none;
/* 设置字体颜色 */
color: #777777;
/* 修改字体大小 */
font-size: 18px;
padding: 0 39px;
}
.nav li:last-child a{
padding: 0 42px 0 41px;
}
/* 设置鼠标移入的效果 */
.nav a:hover{
background-color: #3F3F3F;
color: #E8E7E3;
}
style>
head>
<body>
<ul class="nav">
<li>
<a href="#">HTML/CSSa>
li>
<li>
<a href="#">Browser Sidea>
li>
<li>
<a href="#">Server Sidea>
li>
<li>
<a href="#">Programminga>
li>
<li>
<a href="#">XMLa>
li>
<li>
<a href="#">Web Buildinga>
li>
<li>
<a href="#">Referencea>
li>
ul>
body>
html>
.box3{
width: 200px;
height: 200px;
background-color: yellow;
position: absolute;
top: 100px;
left: 100px;
z-index: 3;
}