前端css笔记
vscode的使用
1.双击打开软件
2.新建文件CTRL+N
3.ctrl+s 保存,要保存为.html文件
4.CTRL+ 、ctrl— 放大减小键
5.生成页面骨架结构
! 按下tab键
6.右键 openindefault browser
VSCode工具生成骨架标签新增代码
1.<!DOCTYPE>标签 :文档类型声明,作用就是告诉浏览器使用哪种HTML版本来显示页面
2.lang语言:用来定义当前文件显示的语言
en:英文
zh-CN: 中文 *
<html lang ="zh-CN">
3.charset字符集:utf-8
<meta charset="UTF-8">
2、常用标签
2.1、标题标签
<h1>-<h6> *
2.2、换行标签、段落标签
段落:p
换行:
2.3、文本格式化标签
粗体:<strong></strong> *、<b></b>
斜体:<em></em> *、<i></i>
下划线:<ins></ins> * 、<u></u>
删除线:<del></del> * 、 <s></s>
2.4、div和span标签
放图片或者文字。
<div>这是头部</div>
<span>今日价格</span>
div : 分割、分区。
span:跨度、跨距。
特点:
1.div 标签用来布局,一行只能放一个div 。大盒子。
2.spam 标签用来布局,一行可以放多个span , 小盒子。
2.5、图像标签和路径 ***
图像标签 (单标签)
<img src="图像url" alt=""/>
属性:
src是指图像文件的路径和文件名。
alt: 图片显示不出来,显示文字来说明。
title:鼠标放在图片上,显示的文字。
width:设置图片的宽度
height:设置图片的高度
border:设置图片的边框粗细
(属性之间没有先后顺序 空格分开)
文件-打开文件夹-选择文件
2.6、超链接标签
<a>
1.链接的语法格式
<a href="跳转目标" target="目标窗口的弹出方式">文本或者图像</a>
target: _self为默认值,__blank在新窗口中打开方式。
2.链接的分类
外部链接: 例如:
<a href="http://www.baidu.com" target="_blank">百度</a>
内部链接:网站内部页面之间的相互链接。例如:
<a href="index.html">首页</a>
空链接:
<a href="#"></a>
下载链接:如果href里面地址是一个文件或者压缩包,会下载这个文件。
<a href="img.zig">下载文件</a>
网页元素链接:在网页中各种网页元素,文本图像表格音频视频等都可以添加超链接。
<a href="http://www.baidu.com"><img src="img.jpg"/></a>
锚点链接:像是大纲,点进去跳转到页面相应内容的位置处
第一步:<a href="#two">第二集介绍</a>
第二步:<h3 id="two">第二集介绍</h3>
-
在链接文本的href属性中,设置属性值为#名字的形式。
-
找到目标位置标签,里面添加一个id属性=名字。
2.7、注释标签和特殊字符
注释标签:CTRL+/
特殊字符: ; 空格
< 小于号 >大于号
3.表格标签
1.1表格的基本语法
<table>
<tr>
<td>单元格内的文字</td>
...
</tr>
...
</table>
table: 用来定义表格的标签
tr:定义表格中的行
td:定义表格中的列单元格
1.2.表头单元格标签
th:表示表格的表头部分,常用在第一行,突出重要性。会加粗居中显示。
<table>
<tr>
<th>姓名</th>
<th>性别</th>
</tr>
</table>
1.3、表格属性
align:表格周围对齐方式 例如:left right center
border: 表格是否拥有边框,默认”“,表示没有边框。 1或者”“。
cellpadding :像素值,单元边沿与其内容之间的空白,默认1像素。
cellspacing:单元格之间的空白,默认2像素。
width:像素值或百分比。 表格的宽度。
1.4、表格结构标签
表格可分为 表格头部和表格主体
thead:表示表格头部的区域,tbody:表示表格主体的区域
1.5、合并单元格
跨行合并:rowspan=”合并单元格的个数“ 最上册为目标单元格
跨列合并:colspan=”合并单元格的个数“ 最左侧为目标单元格
<td colspan="2"></td>
4、列表标签 ****
1.无序列表ul
<ul>
<li>列表1</li>
<li>列表2</li>
</ul>
2.有序列表 ol
<ol>
<li></li>
<li></li>
</ol>
3.自定义列表
<dl>
<dt></dt>
<dd></dd>
</dl>
5、表单标签
表单组成:表单域、表单控件、提示信息
1.表单域:包含表单元素的区域
form:实现用户信息的收集和传递
<form action="url地址" method="提交方式" name=”表单域名称">
各种表单控件
</form>
属性:
action:用于指定接收并处理表单数据的服务器程序的url地址。
method:get/post
name:指定表单的名称。
2.表单控件/元素
1.input输入表单元素:收集用户信息。
<input type="属性值"/>
type属性的属性值:
button 点击按钮
checkbox 复选框
file 上传文件
hidden 隐藏输入字段
image 定义图片形式的提交按键
password 密码字段
radio 单选按钮
reset 重置
submit 提交按钮
text 输入文本
type常用属性:
name:定义input元素的名称,单选按钮和复选框要有同样的name值。
value: 定义input元素的值,后台取值,给后台人员使用
checkbox:规定input首次加载时应被选中
maxlength: 输入字段字符的最大长度
placecholder:透明字
2.select下拉表表单元素
语法:
<select>
<option>内容1</option>
<option>内容2</option>
<option>内容3</option>
....
</select>
selectde=”selected“:被选中状态
3.textarea文本域表单元素
语法:
<taxtarea rows="3" cols="2">
文本内容
</taxtarea>
4.label标签 ***
label 用于绑定一个表单元素,点击label标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,增加用户体验。
语法:
<label for="sex" >男</label>
<input type="radio" name="sex" id="sex"/>
核心:label标签的for属性应当与相关元素的id属性相同。
6.查阅文档
网站:
-
百度:
例如:搜索table标签。
-
W3C:
-
MDN:
css层叠样式表
css规则:两部分构成。选择器以及一条或多条声明。
选择标签用的
1.选择器
1.1 标签选择器
作用:将某一类标签全部选择出来。
语法:标签{}
1.2 类选择器
.类名{
}
<div class="类名">
内容
</div>
样式点定义,结构类(class)调用
多类名:给一个标签指定多个类名,从而达到更多的选择目的。
-
class=“类名1 类名2”
<div class="red font20">
亚瑟
</div>
1.3 id选择器
语法:
#id名{
属性1:属性值;
}
口诀:样式#定义,结构id调用。 只能调用一次,别人切勿使用。
id和class区别:
-
类选择器好比人的名字,一个人可以有多个名字,一个名字可以被多个人使用。
-
id选择器好比人的身份证号码,全国唯一,不能重复。
-
最大不同在使用次数上。
-
类选择器在修改样式中使用最多,id选择器一般用于页面唯一性的元素,经常个js一起使用。
1.4 通配符选择器
-
使用*定义,选取页面中所有元素。
语法:
* {
属性1:属性值;
margin:0;
padding:0;
...
}
-
不需要调用。
2.css字体属性
2.1字体
css使用font-family属性定义文本的字体系列
body {
font-family:"宋体";
}
div{
font-family:Arial,"Microsoft Yahei","微软雅黑";
}
设置多个字体的原因是:电脑如果有第一种就以第一种显示,否则就用后面的字体显示。
2.2字体大小
p{
font-size:20px;
}
-
标题标签比较特殊,需要单独指定文字大小。
h1{
font-size:20px;
}
2.3字体粗细
font-weight
font-weight:bold;
font-weight:700; 加粗
2.4字体倾斜
font-style:italic;
p{
font-style:italic;
}
将倾斜的字体正回来
em{
font-style:normal; ***
}
2.5字体的符合属性
-
将字体属性综合来写
-
类型 粗细 大小 字体
body{
font:font-style font-weight font-size/line-height font-family;
}
类型 粗细 大小 字体
例如:
font:italic 700 16px "Microsoft yahei"-
不能随便更改顺序
-
有些属性可以省略,但是font-size和font-family属性不能省略。
-
3.css文本属性
3.1文本颜色
color: rgb rgba
div{
color:red;
color:#ffffff; ****
color:rgb(255,0,0);
}
3.2对齐文本
text-align属性用于设置元素内文本内容的水平对齐方式。
div{
text-align:center;
}
3.3装饰文本
text-decoration
div{
text-decoration:underline;
}
属性值:
-
none:默认,没有装饰线。***
-
underline:下划线,链接a自带下划线。**
-
overline:上划线
-
line-through:删除线
3.4文本缩进
-
text-indent 用来指定文本的第一行的缩进,通常是将段落的首行缩进。
div{
text-indent:20em;
}
em是一个相对单位,就是当前元素1个文字的大小。
3.5行间距
-
line-height用于设置行间的距离行高。
p{
line-height:26px;
}
行高构成:上间距,文字本身高度,下间距。
4.css引入方式
4.1css的三种样式表
-
行内样式表(行内式)
-
内部样式表(嵌入式)
-
外部样式表(链接式)
4.2内部样式表
-
内部样式表是写到html页面的内部,是将所有的css代码抽出来,单独放到一个style标签中。
4.3行内样式表
<div style="color:red;font-size:12px;">
文本内容
</div>
-
style就是标签的属性
-
在双引号中间,写法要符合css规范
-
可以控制当前的标签设置样式
4.4外部样式表(推荐)
引入外部样式表分为两步:
-
新建一个后缀名为.css的样式表,把所有css代码都放到此文件中
-
在HTML页面中,使用link标签引入这个文件
<link rel="stylesheet" href="css文件路径"
5.chrome调试工具
1.打开调试工具
打开chrome浏览器,按F12或者右击→检查
2.使用调试工具
-
ctrl+滚轮 放大缩小
-
Ctrl+0 复原浏览器大小
-
点击元素,右侧没有样式引入,极有可能是类名或者样式引入错误
-
有样式,但样式前面有黄色叹号提示,则样式属性书写错误。
1.Emmet语法
1.1快速生成HTML结构语法
-
想要生成多个相同标签,加上*就可以了,div×10可以生成10个div标签。
-
有父子级关系的标签,可以用>,比如ul>li
-
兄弟级关系标签,用+,div+p
-
生成带有类名或者id名字的,直接写.demo或者#two tab键就可以了,默认是div。 p.one
-
如果生成的div类名是有顺序的,可以用自增符号$
-
我们想生成的标签里面默认显示几个文字, div{pink老师不是gay}
例如:.demo$*5 ul>li.two
div{我想要一路顺遂$}*4
1.2.快速生成css样式语法
-
w200 可以生成width:200;
-
ln26 可以生成line-height:26px;
1.3快速格式化代码
代码没有对齐
快速格式化代码:右键→格式化文档(shift+alt+f)
也可以设置当我们保存页面的时候自动格式化代码:
-
文件------>首选项-------->设置;
-
搜索emmet.include;
-
在setting.json下的用户中添加以下语句:
"editor.formatOnType":true,
"editor.formatOnSave":true
新版本 在设置里面搜索 format 找到format on save 勾选。
6.css复合选择器
由基础选择器组合形成的
后代选择器,子选择器,并集选择器,伪类选择器。
6.1后代选择器(重点)
语法:
元素1 元素2 {样式声明}
-
元素2 一定是元素1 的后代
例如:
ol li {
color: pink;
}
-
元素1和元素2中间用空格隔开
-
元素1是父级,元素2是子级,最终选择的是元素2
<style>
ol li {
color: pink;
}
</style>
<ol>变态写法:
<li>我是ol的孩子1</li>
<li>我是ol的孩子2</li>
</ol>
-
元素2只要是元素1 的后代就行,儿子或者孙子
<style>
ol li a { 或者ol a{}
color:red;
}
</style>
<ol>变态写法:
<li>我是ol的孩子1</li>
<li>我是ol的孩子2</li>
<li><a href="#">我是孙子</a></li>
</ol>
<style>
.nav li a{
color:red;
}
</style>
<ul class="nav">
<li>我是ul的孩子1</li>
<li>我是ul的孩子2</li>
<li>我是ul的孩子3</li>
<li><a href="#">不会变化</a></li>
<li><a href="#">不会变化</a></li>
<li><a href="#">不会变化</a></li>
</ul>
6.2 子选择器(重要)
只能选择作为某元素的最近一级子元素,简单理解就是选亲儿子元素。
语法: 选择元素1里面的所有直接后代(子元素)元素2
元素1>元素2{样式声明}
例如:
div>p{color:red;}
-
元素2必须是亲儿子
6.3并集选择器(重要)
-
可以选择多组标签,为他们定义相同的样式,用于集体声明。
-
并集选择器是各选择器通过英文逗号(,)连接而成,任何形式的选择器都可以作为并集选择器的一部分。
语法:
元素1,元素2 {样式声明}
6.4伪类选择器
伪类选择器是用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第一个,第n个元素
最大特点是用:表示,比如 :hover、:first-child。
1.链接伪类选择器
-
a:link 选择所有未被访问的链接
-
a:visited 选择所有已被访问的链接
-
a:hover * 选择鼠标指针位于其上的链接
-
a:active 选择活动链接(鼠标按下未弹起的链接)
注意事项
-
为确保生效,按照LVHA的顺序声明:link- :visited- :hover- :active-
-
记忆法: lv包包hao
-
a链接在浏览器中具有默认样式,所以我们实际工作中需要给链接单独制定样式
a {color:red;}
链接伪类在实际开发中的写法
a{
color:red;
}
a:hover{
color:yellow;
text-decoration:underline;
}
2:focus伪类选择器
-
:focus伪类选择器用于选取获取焦点的表单元素
-
焦点就是光标,一般情况<input>类表单元素才能获取,因此这个选择器也主要针对于表单元素来说。
input:focus {
}
复合选择器总结
7css的元素显示模式
1.1.什么是元素显示模式
-
元素显示模式就是元素(标签)以什么方式进行显示,比如div自己占一行,比如一行可以放多个span。
-
HTML元素一般分为块元素和行内元素两种元素。
1.2.元素显示模式的分类
1.3.元素显示模式的转换
7.1 块元素
常见的块元素有<h1>~<h6>,<p>,<div>,<ul>,<ol>,<li>等,其中<div>标签就是最典型的块元素。
-
块元素的特点:
-
比较霸道,自己独占一行。
-
高度,宽度,外边距以及内边距都可以控制
-
宽度默认就是容器(父级宽度)的100%。
-
是一个容器及盒子,里面可以放行内或者块级元素。
-
注意:
-
文字类的元素不能使用块级元素
-
p标签主要用于存放文字,因此p里面不能放块级元素,特别是不能放div
-
同理,h1~h6等都是文字类块级标签,不能放其他块级元素。
7.2行内元素
常见的行内元素有a,strong,b,em,i,del,s,ins,u,span,,,,其中span标签是典型的行内元素,有的地方也将行内元素成为内联元素。
-
行内元素的特点:
-
相邻行内元素在一行上,一行业以显示多个元素。
-
高,宽直接设置是无效的。
-
默认宽度就是它本身内容的宽度
-
行内元素只能容纳文本或其他行内元素。
注意:
-
链接里面不能再放链接
-
特殊情况链接a里面可以放块级元素,但是给a转换一下块级模式最安全
7.3行内块元素
-
在行内元素中有几个特殊的标签—《img/》图像、《input/》表单、《td》,他们同时具有块元素和行内元素的特点。
行内块元素的特点:
-
和相邻行内元素在一行上,但是他们之间有空白缝隙,一行可以显示多个。
-
默认宽度就是它本身内容的宽度
-
高度、行高、外边距、内边距都可以控制。
7.4.元素显示模式的转换
特殊情况下,我们需要元素模式的转换,简单理解:一个模式的元素余姚另外一种模式的特性。
比如想要增加链接a的触发范围。
-
转换为块级元素: display:block;
链接不能设置宽度和高度,转换为块级元素就可以设置宽度和高度。
-
转换为行内元素:display:inline;
-
转换为行内块:display:inline-block;
<style>
a {
/* 不起效果 */
width: 150px;
height: 50px;
background-color: pink;
/* 把行内元素a转换为块级元素 */
display: block;
}
div {
width: 150px;
height: 50px;
background-color: rgb(173, 36, 59);
display: inline;
}
span {
width: 150px;
height: 50px;
background-color: rgb(36, 75, 173);
display: inline-block;
}
</style>
<a href="#">金星阿姨</a>
<div>我是块级元素</div>
<div>我是块级元素</div>
<span>行内元素转换为行内块元素</span>
<span>行内元素转换为行内块元素</span>
7.5 一个小工具的使用snipaste
snipaste是一个简单但强大的截图工具,也可以让你将截图贴回到屏幕上。
常用快捷方式:
-
F1可以截图。同时测量大小,设置箭头,书写文字等。
-
F3在桌面置顶显示
-
点击图片,alt可以取色(按下shift可以切换取色模式)
-
按下esc取消图片显示1
7.6侧边栏案例
7.7 一个小技巧 单行文字垂直居中的代码
解决方案:让文字的行高等于盒子的高度,就可以让蚊子在当前盒子内垂直居中。
line-height: 40px;
行高小于盒子高度,文字会偏上;行高大于盒子高度,文字会偏下
8css的背景
背景颜色、背景图片、背景平铺、背景图片的位置、背景图像固定等。
8.1 背景颜色
margin-top: 0.8em; margin-right: 0px; margin-bottom: 0.8em; padding-left: 30px; position: relative; color: rgb(51, 51, 51); font-family: "Open Sans", "Clear Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;">
-
transparent 透明 默认
8.2 背景图片
background-image
优点:非常便于控制位置
background-image:none/url
8.3背景平铺
background-repeat:repeat|no-repeat|repeat-x|repeat-y
-
repeat:背景图片在纵向和横向上平铺
-
no-repeat:背景图片不平铺
-
repeat-x:背景图片在横向上平铺
-
repeat-y:背景图片在纵向上平铺
默认情况下背景是平铺的。 平铺是在页面上多余的空间再填上图片。
页面元素既可以添加背景颜色,又可以添加背景图片,背景图片会压住背景颜色。
8.4背景图片位置
background-position:x y;
x坐标和y坐标,可以使用方位名词或者精确单位
-
length 百分数|由浮点数字和单位标识符组成的长度值
-
position y轴: top |center|botton
x轴: left|center|right 方位名词
1 参数是方位名词
-
如果指定的两个值都是方位名词,则两个值前后顺序无关,比如left top 和 top left 效果一致
background-position: center right;
-
只指定一个方位名词,另一个值省略,则第二个值默认居中对齐
background-position:right效果:水平靠右对齐,y轴是垂直居中显示的
-
图片不要插入图片,在style里面加入背景图片
background-image: url();
background-repeat: no-repeat;
background-position: left center;
text-indent: 2em;
-
超大背景图,居中图片
background-position:center top;
2.参数是精确单位
-
如果参数值是精确单位,那么第一个肯定是x坐标,第二个一定是y坐标。
baackground-position:20px 50px;
x轴是20px,y轴是50px
-
如果至指定一个数值,该数值一定是s坐标,另一个默认垂直居中。
3参数是混合单位
-
第一个值一定是x坐标,第二个值一定是y坐标
8.5背景图像固定(背景附着)
background-attachment属性设置背景图像是否固定或者随着页面的区域部分滚动
后期可以制作视差滚动的效果。
background-attachment:scroll|fixed
scroll 背景图像随对象内容滚动
fixed 背景图像固定
8.6背景复合写法***
为了简化背景属性的代码,这些属性可以合并简写在同一个属性background中,没有特定的书写顺序,一般习惯约定顺序为:
background:背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置;
background:transparent url(images/5.jpg) no-repeat fixed center top;

浙公网安备 33010602011771号