HTML+CSS笔记

  1. 利用vscode编辑,Ctrl + N新建文件,保存为.html文件
  2. Ctrl + 加号键,Ctrl + 减号键可以放大缩小视图
  3. 生成页面骨架结构:输入!按下Tab键。
  4. 大文件夹为目录文件夹,大文件夹里的东西叫根目录
  5. css书写规范:

  6. 引入js:<script></script>
  7. 引入css:<link></link>、<style></style>

标签(上)

基础标签

  1. <h1>-<h6> 标题标签的内容只在一行显示,标签之外的内容下一行显示。
  2. 段落标签<p></p>;换行标签<br />(单标签)

加粗标签<strong></strong>或者<b></b>

倾斜标签<em></em>或者<i></i>

删除线<del></del>或者<s></s>

下划线<ins></ins>或者<u></u>

  1. 盒子分区:

<div>自己独占一行</div>;(大盒子)

<span>内容可以一行内显示</span>;(小盒子)

  1. 图像标签:

<img src="图像URL.jpg" />

alt :替换文本,图像显示不出来的时候用文字替换

<img src="img.jpg" alt=“对图片的文字说明” />

title :提示文本,鼠标放到图像上,有提示的文字跟着鼠标

<img src="img.jpg" alt=“对图片的文字说明”title="提示的文字" />

width:给图像设定宽度 height:给图像设定高度

<img src="img.jpg" alt=“对图片的文字说明”title="提示的文字" width="500" height="400" />

宽度和高度一般修改一个就可,避免一起修改出现压缩问题。

border:给图像设定边框

<img src="img.jpg" alt=“对图片的文字说明”title="提示的文字" width="500" height="400" border="15" />

相对绝对路径

相对路径:

同一级路径:图像文件位于HTML文件同一级 <img src="证件照.jpg" />

下一级路径/:图像文件位于HTML文件下一级 <img src="images/证件照.jpg" />

上一级路径../:图像文件位于HTML文件上一级 <img src="../证件照.jpg" />

绝对路径:图像文件在电脑中哪个位置或者图像在网络中的地址。(注意斜杆与相对路径不同)

超链接标签

外部链接 :<a href="http://……">某网站名字</a> eg:<a href="http://qq.com">腾讯</a>

target:打开窗口的方式,默认值是 _self 即当前窗口打开页面;_blank 新窗口打开页面

<a href="http://www.qq.com" target="_blank">腾讯</a>

内部链接:网站内部页面之间的相互链接,直接链接内部页面名称即可,<a href="index.html">首页</a>. (链接到根目录里的网页)

空链接:当没有确定链接目标时,<a href="#">公司电话地址</a>.

下载链接:如果href里面地址是一个文件或者压缩包,点击会下载这个文件。

<a href="img.zip">下载文件</a>. 在网页中点开即下载。

网页元素链接:在网页中的各种网页元素在,如文本、图像、表格、音频、视频等都可以添加超链接

<a href="http://www.so.com" target="_blank"><img src="百度图标.jpg" /></a>

锚点链接:点击链接,可以快速定位到页面的某个位置。

  • 在链接文本的href属性中,设置属性值为#名字的形式,如<a href="#two">第13集</a>.
  • 找到目标位置标签,里面添加一个id属性=刚才的名字,如:<h3 id="two">第13集介绍</h3>.

注释和特殊字符

注释标签:便于程序员阅读和理解的文字,不显示在页面中。

注释<!-- 注释语句 --> , 快捷键:ctrl + / 。

特殊字符:

  • 空格符&nbsp;
  • 小于号&lt;
  • 大于号&gt;

标签(下)

表格标签

对齐方式 align:left 、center 、right

表格边框:border

内容和单元格之间的距离:cellpadding(像素值)

单元格之间的空白,默认2像素:cellspacing(一般为0比较好看)

可通过设置宽、高来调整单元格的大小:width、height

<table>(大框架)

<tr> (单元格)

<td>单元格内的文字</td> (单元格的内容)

……

</tr>

……

</table>

表头单元格:一般位于第一行,文字加粗居中显示。将<td></td>替换为<th></th>。

表格结构:表头<thead></thead>

表主体<tbody></tbody>

合并单元格:

  • 跨行合并:rowspan="合并单元格的个数" 合并代码写在上侧
  • 跨列合并:colspan="合并单元格的个数" 合并代码写在左侧
  • 删除合并后多余的单元格

列表标签

无序列表:

<ul>

<li>列表项1</li>

<li>列表项2</li>

<li>列表项3</li>

</ul>

有序列表:

<ol>

<li>列表项1</li>

<li>列表项2</li>

<li>列表项3</li>

</ol>

列表<ul>和<ol>里只能放<li>,但<li>里面啥都可以放。

自定义列表

<dl>

<dt>名词1</dt>

<dd>名词1解释1</dd>

<dd>名词1解释2</dd>

</dl>

表单标签

  1. 表单(收集用户信息):表单域(区域)、表单控件(框框、按钮)、提示信息。
  2. 表单域:<form action="demo.php" method="POST" name="name1"></form>
  3. 表单控件:表单元素

<input type="属性值" />. input是个单标签

    • type的属性值:
      • text 文本框,用户可以在里面输入任何文字。 用户名:<input type="text" />.
      • password 密码框,用户看不见输入的密码。 密码:<input type="password" />.
      • radio 单选按钮,可以实现多选一。 性别:<input type="radio">
      • checkbox 复选框,可以实现多选。 爱好:<input type="checkbox">
      • submit 提交按钮,默认value值为“提交”。 <input type="submit" value="完成并提交" >

点击提交按钮,可以把表单域form里表单元素的值(已经填好)提交给后台服务器。

      • reset 重置按钮,默认value值为“重置”。 <input type="reset" >
      • button 普通按钮。(结合js使用) <input type="button" value="获取短信验证码" >
      • file 文件域,上传文件使用。 上传头像:<input type="file" >,点击会跳出文件夹供选择。
    • name:表单元素的名字,实现多选一。
      • 单选按钮必须拥有相同的name值,才可以实现多选一。

密码:<input type="password" name="psw">

      • 复选框也需要相同的name值。
    • value:规定 input 元素的字符或者值。
    • checked:单选按钮和复选框可以设置checked属性,页面打开可默认选中该按钮。

密码:<input type="password" name="psw" checked="checked">

    • maxlength:规定输入字符的最大长度。

<label for="对应名称"></label>

用于绑定一个表单元素,当点击<label>标签时,浏览器会自动将光标转到对应的表单元素上,用来增加用户体验。

<label for="nan">男</label>

<input type="radio" name="sex" id="nan" />

<select>下拉列表,selected默认选项。

<form>

籍贯:

<select>

<option>广州<option>

<option selected="selected">深圳<option>

<option>揭阳<option>

</select>

</form>

<textarea></textarea>:文本域(特大号文本框)。

CSS

CSS语法规范

CSS由选择器以及一条或多条声明构成。在<head><style></style></head>之间。

h1 { color : red ; font-size : 25px ; } 以 ; 结尾

选择器(h1)是用于指定CSS样式的HTML标签,花括号是设置的具体样式。

CSS选择器

  1. 标签选择器:标签名作为选择器。

把某一类标签全部选出来,如所有的<div><span><p>等。(可以快速为页面中同类型标签统一设置样式)。

  1. 类选择器:.名称。(样式点定义,结构类(class)调用,开发类最多)

.yellow { color: pink; }

<div class="yellow">变成我喜欢的粉红色</div>

多类名:<div class="one two three"></div> 不同的名字用空格隔开。

  • 可以把一些标签元素相同的样式(共同的部分)放到一个类里面;
  • 这些标签可以调用这个公共的类,再调用自己独有的类;
  • 从而节省CSS代码统一修改非常方便。
  1. id选择器:样式#定义,结构id调用,只能调用一次,别人切勿使用。

id选择器和类选择器最大的区别是:使用次数的不同,类选择器好比姓名,id选择器好比身份证号。

  1. 通配符选择器:"*"来定义。

CSS文字属性:

字体:p { font-family="微软雅黑"; } Microsoft YaHei.

字号:body { font-size=16px; }

字体粗细:p { font-weight=normal /bold /bolder /lighter /700 ; }。

bold加粗=700;normal不加粗=400;(数字后面没有单位)

文字样式:p { font-style: normal /italic ; } 倾斜和不倾斜。一般是将斜体标签(em,i)改为不倾斜normal的字体.

复合属性:简写代码,顺序不能乱!属性之间用空格隔开。

font : font-style font-weight font-size/line-height font-family。

font : italic 700 16px 'Microsoft yahei'

其他属性不需要设置可以省略,但必须保留 font-size和 font-family属性,否则font属性将不起作用。

CSS文本属性:

  • 文本颜色:color: 英文颜色、十六进制(最常用)、RGB代码。
  • 对齐文本:text-align:只能设置水平对齐方式,默认左对齐。h1 { text-align=center/ right / left ; }
  • 装饰文本:text-decoration:none默认/ underline下划线 / overline上划线 / line-through删除线。
  • 文本缩进:text-indent首行缩进。可以用px或者em为单位,em是当前元素文字大小距离的单位,2em相当于两个字符的大小。p { text-indent: 2em; }
  • 行间距:line-height 行与行之间的距离,测量行高:从上一行的最下沿量到下一行的最下沿即可,上下间距一样大的。 p { line-height: 26px; }

CSS引入方式

内部样式表(嵌入式):写到html内部,将所有CSS代码单独放到一个<style>标签中。<style>一般放在<head>中,理论上也可以放在其他地方。

行内样式表:适用于修改简单样式,style是其属性。<p style="color: pink; font-size: 20px; ">阿里巴巴</p>。

外部样式表(使用最多):单独建CSS文件,之后再引入HTML页面中使用。

在</head>之前引入CSS,<link rel="stylesheet" href="css文件路径">

chrome调试工具

在谷歌浏览器中打开网页,按F12键或右键查看。

调试:左边html右边css,将光标定到左上角小黑箭头可以定位到错误的文本,进行修改。

右侧css可以将光标定在需要修改的地方,按上下箭头进行放大和缩小像素值。改完之后复制到源代码进行粘贴,否则一刷新还是没变。

emmet语法生成html、css

父子级关系标签,可用>,比如 ul>li直接生成

<ul>

<li></li>

</ul>.

兄弟关系的标签,可用+,比如div+p直接生成

<div></div>

<p></p>

输入 .leibie 可直接生成div的类名称。<div class="leibie"></div>. 默认是div,也可以输入其他样式:

p.leibie 生成 <p class="leibie"></p>

p#one 生成 <p id="one"></p>

span.two 生成 <span class="two"></span>

h3#three 生成 <h3 id="three"></h3>

ul>li#four 生成 <ul> <li id="four"></li> </ul>.

大括号直接生成内容:div{文字}、Tab键。

div{今天学习emmet语法} tab生成<div>今天学习emmet语法</div>

.demo$*4生成<div class="demo1" class="demo2" class="demo3" class="demo4"></div> $是数字顺序(1,2,3,4…)

生成CSS样式:简写形式,简写第一个字母再Tab即可:

w200 tab 可以生成 width:200px;

lh26 tab 可以生成 line-height:26px;

tac生成 text-align: center;

tdn: text-decoration: none;

w : width;

h : height;

a{五彩缤纷}*3 即可生成3个链接

CSS复合选择器

后代选择器(重要):

元素1 元素2 { 样式声明 }。元素1是父级,元素2是子级,中间用空格隔开。

ul li { color : pink; }即只改变ul里的 li 元素样式。

.leibie li a { 样式变化; } 即可修改类别为leibie的ul里的li的a。

子选择器(重要):

只能选择亲儿子元素进行修改。 元素1>元素2{ 样式声明 }

<style>

div > p { 样式声明 } //即选择div里面所有最近一级 p 标签元素

</style>

并集选择器(重要):

选择多组标签用于集体声明。

元素1,元素2,元素3 { 声明 }

伪类选择器(鼠标经过)::hover、 :first-child.

  • 链接伪类选择器(按照LVHA顺序来写:lv包包hao):

a : link { 样式 } /* 选择所有未被访问过的链接*/

a : visited { 样式 } /* 选择所有已被访问的链接 */

a : hover { 样式 } /* 选择鼠标指针经过的链接 */

a : active { 样式 } /* 选择活动链接(鼠标按下未弹起的链接) */

给链接指定样式要单独给 a 指定样式,给body指定样式链接不会变的。

实际开发(没有link visited active) :

a { 样式 } 再写 a :hover { 样式 } 。

  • :focus伪类选择器:

选取获得光标的表单元素。

input : focus {

background-color : yellow;

}

元素显示模式

块元素<div>:

  • 比较霸道,自己独占一行。
  • 宽、高、外边距及内边距都可以控制。
  • 宽度默认是页面宽度
  • 盒子里面可以放行内元素或者块元素。

注意:<p><h>里面不能放<div>

行内元素<span>:

  • 一行可以显示多个。
  • 宽、高设置无效。
  • 默认宽度就是它内容本身的宽度。
  • 行内元素不可以放块元素。

注意:链接不可以再放链接!

行内块元素<img /><input />:

  • 一行内可以显示多个。
  • 默认宽度就是它本身内容的宽度。
  • 宽、高、外边距、内边距都可以控制。

元素模式转换:

加上 display : block; 即可将行内元素转换为块元素,也就是可以设置宽高。

加上 display : inline ; 即可将块元素转换为行内元素,不可设置宽高。

加上 display : inline-block; 即可将行内元素转换为块元素,也就是可以设置宽高。如在链接a里,设置链接的文字背景宽高等。

小技巧:

  • CSS无法垂直居中,可以使 line-height 即间距等于高。

CSS的背景

背景颜色background-color : transparent(透明的)、color.

背景图片background-image : none默认,url ( 图片路径 )。logo或者小图片都是用背景图片做。

背景平铺background-repeat : no-repeat 不平铺、repeat 平铺、repeat-x 横向平铺、repeat-y 纵向平铺。

背景图片会覆盖背景颜色。

背景图片位置background-position :x y ;

    • x y是 方位名词(left center right , top center button) 二者值与顺序无关,可以指定一个方位名词,另一个不写(默认居中)。
    • 如果精确单位,则前者一定是x方向,后者是y方向。background-position : 20px 50px;
    • 也可以混合使用 : background-position : 20px button ;

背景图像固定:视差滚动。background-attachment : fixed / scroll默认.

背景复合写法:顺序本无要求,但要规范。background : 背景颜色,背景图片地址,北京平铺,背景图像滚动,背景图像位置。

背景色半透明 background: rgba ( 0, 0, 0 , 0.3) 最后一个数在0-1之间,并且可以省略0,直接输 .3 .6 。

快速填充,shift+alt键+拖拽

CSS三大特性:层叠性、继承性、优先级

继承性:跟文字相关的样式可以继承,并不是啥都继承。

简化代码,子元素可以继承父元素的样式(text- , font- , line- 这些元素开头的可以继承,以及color属性)

优先级:继承或者* < 元素选择器 < 类选择器、伪类选择器、属性选择器< ID选择器 < 行内样式style < !important

一定要优先考虑使用样式规则的优先级来解决问题而不是 `!important`

盒子模型

边框border

border-width:5px 边框的

border-style :soild 实线边框 dashed 虚线边框 dotted 点线边框

border-color:pink 边框颜色

简写复合写法:没有顺序

border:5px soild pink;

上边框:

border-top:5px soild pink;

下边框:

border-bottom:10px dashed purple;

合并相邻的边框:

border-collapse:collapse;

内边距(文字与边框的距离)

padding-top:上内边距

padding-bottom:下内边距

padding-left:左内边距

4种情况都要记住

如果不指定宽度和高度,padding值不会撑开盒子的大小

外边距(盒子之间的距离)

margin-top:上边距

margin-bottom:下边距

简写形式:与padding一致,可以写1234个参数

margin:30px

块级盒子水平居中

margin:0 auto

避免嵌套块元素垂直外边距塌陷问题:为父元素添加overflow:hidden BFC

清除网页默认内外边距:一般写在css第一行

* {

margin:0; // 清除外边距

padding:0; // 清除内边距

}

圆角边框

border-radius:30px

原理:即设置圆的半径,通过圆的半径来调节边角弧度。

两个参数:对角变化

盒子阴影

box-shadow:水平 垂直 模糊距离 阴影尺寸 颜色 内外阴影

box-shadow:10px 10px 10px -4px rgba(0,0,0,.3) inset外阴影不需要写

div:hover{

box-shadow:10px 10px 10px -4px rgba(0,0,0,.3)

}

文字阴影

text-shadow:50px 5px 3px -2px

浮动

标准流

标准流:标签按照规定好默认方式排序

块级元素独占一行,行内元素从左到右排序(span a i em)。

多个块级元素纵向排列找标准流,横向排列找浮动。

浮动的元素不会压住下面标准流的文字和图片,但会压住该盒子。文字环绕效果。

浮动

float:left right none

浮动元素的重要特性:

  • 脱离标准普通流的控制,移动到指定位置(脱标)。
  • 浮动的盒子不再保留原先的位置。

浮动不需要加display : inline-block,自动转换为行内块元素

清除浮动

由于父级盒子很多情况下,不方便给高度,但是盒子浮动又不占位置,最后父级高度为0,这个时候要清除浮动。

本质:清除浮动元素造成的影响。

语法:clear:both

  1. 额外标签法:隔墙法(少用)

在最后一个标签盒子的样式里添加:clear:both

最后一个新增的盒子必须是块级元素,不能是行内元素span等。

  1. 父级添加overflow

overflow:hidden;

  1. 伪元素法(大厂用得多)

.clearfix:after{

content:"";

display:block;

height:0;

clear:both;

visibility:hidden;

}

.clearfox{

*zoom:1;

}

  1. 双伪元素法(小米,腾讯)

.clearfix:before,.clearfix:after{

content:"";

display:table;

}

.clearfix:after{

clear:both;

}

.clearfix{

*zoom:1;

}

ps切图

  1. 导出图层:图层菜单 --> 快速导出为PNG
  2. 合并图层:ctrl + e
  3. 使用cutterman切图,合并图层也可以。(窗口---扩展工具---cutterman)

transition属性

是个复合属性,包括以下几个子属性:

transition-property :规定设置过渡效果的css属性名称,常用值 “all”全部css属性进行动画效果添加

transition-duration :规定完成过渡效果需要多少秒或毫秒

transition-timing-function :指定过渡函数,规定速度效果的速度曲线 常用值:关键字描述:linear ease-in ease-in-out

transition-delay :指定开始出现的延迟时间

定位

定位 = 定位模式 + 边偏移

静态定位:{ position : static } 就是标准流,具有标准流的所有特性

相对定位:relative (自恋型)

{

position:relative; //定位模式

top:100px //边偏移

}

相对于自己原来的位置来移动(移动位置的时候参照自己原来的位置);原来在标准流的位置继续占有,后面盒子任然以标准流的方式对待它(不脱标,继续保留原来的位置)

绝对定位:absolute

以祖级元素为准对齐,如果没有祖级元素或者父元素没有定位则以浏览器为准对齐。

{

position : absolute;

left : 0;

buttom : 0 ; //左下角

}

如果父级或者爷爷级有定位(绝对,相对,固定定位),则可以以父级或者爷爷级为准进行定位。

爸爸和爷爷都有定位,就近原则,爸爸。

.father {

position : relative

width : 300px;

height : 500px;

}

.son {

position : absolute;

left : 20px;

top : 30px;

}

绝对定位不占位置(脱标)

子绝父相

相对定位(不脱标) 占据位置

绝对定位(脱标) 不占据位置

固定定位fixed(重要)

position : fixed (脱标)跟绝对定位很像,元素相对于浏览器窗口来说是固定的,不会随着页面的滚动而改变位置。

定位叠放次序 z-index

{

z-index : 1;

}

数字越大,放在越上层。

而且必须是有定位的元素才可以加z-index。

行内元素添加绝对或者固定定位,可以直接设置高度宽度。

块级元素添加绝对或者固定定位,如果不给宽度或者高度,默认大小是内容的大小。

绝对和固定地位会压住下面的文字和图片,但是浮动不会。

显示隐藏overflow

overflow : visible 默认不隐藏

overflow : hidden 不显示超过对象尺寸的内容,超出部分隐藏掉。清除浮动。

overflow : scroll 不管超出内容与否,总是显示滚动条

overflow : auto 超出自动显示滚动条,不超出不显示滚动条

CSS高级应用

精灵图

精灵图借助背景位置来实现:background-position

一般情况下精灵图都是负值,x 轴右边走是正值,左边走是负值。y 轴往上走是负值,往下走是正值。

background: url(images/sprites.png) no-repeat -155px -106px一般是负值

CSS三角

三角形:应用在类似于对话的框加上小三角,表示出处

div {

width: 0 ;

height: 0 ;

border: 50px solid transparent ; 50像素 实线 边框透明

border-left-color : pink 左侧边框颜色改为pink 此时是一个尖头指向右边的三角形。

}

cursor 鼠标样式

{ cursor : default } 小白

{ cursor : pointer } 小手

{ cursor : move } 移动(十字架)

{ cursor : text } 文本 工

{ cursor : not-allowed } 禁止

用户界面样式

表单轮廓线outline

input { outline : none; }

防止拖拽文本域:

textarea { resize : none }

vertical-align 属性

vertical-align: middle / bottom / top / basis

解决图片下方的小空白缝隙:

img { vertical-align : top / buttom /middle } 因为默认是基线对齐,所以有空隙

或者 display :

溢出文字省略号显示

强制文字一行显示,不允许换行:white-space:nowrap

超出部分隐藏:overflow:hidden

文字超出部分省略号代替:text-overflow:ellipsis

margin负值

{ margin-left : -1px } 边框与边框之间的边重叠

HTML5新增属性

多媒体视频:

<video src="media.mi.mp4" autoplay="autoplay" muted="muted" loop="loop" poster="media/1.png"></video>

自动播放、静音播放、循环播放、预先加载的图片

音频:

<audio autoplay="autoplay" controls="controls"></audio>

CSS新增属性选择器

<input type="text" name="" id="">

input[type=text]{

color:pink

}

div选择器中类名以icon开头的

div[class^=icon]{

color:red;

}

div选择器中类名以val结尾的{

div[class$=val]{

color : skyblue

}

CSS伪类选择器

ul li:first-child{ 第一个li

background-color:blue

}

ul li:last-child{ 最后一个li

background-color:purple

}

ul li:nth-child(3){ 第三个li

background-color:skyblue

}

ul li:nth-child(n){ 只能是n字母,相当于循环全选

background-color: #ccc

}

偶数

ul li:nth-child(even){ 偶数行

background-color: #ccc

}

ul li:nth-child(2n){ 相当于把偶数选出来了 等价于even

background-color: #ccc

}

奇数

ul li:nth-child(odd){ 奇数行

background-color: #ccc

}

ul li:nth-child(2n+1){ 相当于把奇数选出来了 等价于odd

background-color: #ccc

}

5 10 15 20

ul li:nth-child(5n){

background-color: #ccc

}

第5个开始

ul li:nth-child(n+5){

background-color: #ccc

}

CSS伪元素选择器(重点)

div: : before {

content: '我';

display: inline-block

width: 30px;

height: 50px;

}

div: : after {

content: '小猪佩奇';

}

<body>

<div>是</div>

</body>

// 我是小猪佩奇

.tudou::before{

content:'';

display:none;

position:absulute;

top:0;

left:0;

width:0;

height:0;

background:rgba(0,0,0,.4) url(images/arr.png) no-repeat center;

}

.tudou:hover::before{ //表示鼠标经过.todou这个类盒子时显示设置好的::before

display:block

}

CSS盒子border-sizing

当盒子的padding和margin值加在一起不超过盒子大小的时候,可以使用box-sizing来指定盒模型。

div {

box-sizing: border-box //盒子大小为width

// box-sizing: content-box 表示盒子width+padding+margin的大小

}

可以巧妙地在样式开头设置:

*{

maigin : 0;

padding : 0;

box-sizing : border-box;

//即默认该html文档的样式盒子都采用盒子大小的模式,放心加margin、padding值

}

滤镜模糊filter:blur(6px)

img {

filter : blur(5px);

}

img:hover {

filter : blur(0);

}

calc计算宽度

声明CSS属性值时执行一些计算

{

width : calc(100% - 30px)

}

可以使用+ - * /来进行计算。

CSS过渡transition

transition : 变化的属性 花费的时间 运动曲线 何时开始

div {

width : 200px;

height : 100px;

background-color : pink;

transition : width .5s ease 1s; 后面两个属性可以省略

}

div : hover {

width : 400px;

}

transition : all .5s ; 相当于把所有的属性都变了。(常用)

CSS 2D转换transform

translate

重点!特点:transform不会影响其他元素的位置。

div {

transform : translate(x,y)

// x就是x轴上移动位置,y是y轴上移动位置。

transform : translate(100px,60px);

transform : translateX(100px); // 表示只在x轴上移动,y轴上不移动。

transform : translateY(30px) ; // 表示只在y轴上移动,x轴上不移动。

}

transform中的百分比单位是相对于自身元素的

div {

transform : translateX (50%);

transform : translate(-50%,-50%); 水平垂直居中

}

translate对于行内元素是无效的。

旋转rotate

img {

transform: rotate(30deg) ;

// 即顺时针旋转30度,负值是逆时针

}

转换中心点transform-origin

transform-origin: x y ;

默认是:transform-origin: 50% 50%

切换到左下角:transform-origin: left buttom;

缩放scale

transform: scale(2); 放大

transform: scale(0.5); 缩小

transform: scale(2,1) 只放大宽度,高度不变

转换综合写法顺序

div {

width : 200px;

height : 200px;

background-color : skyblue;

transition : all .5s; 过渡

}

div : hover {

// 必须把位移放到最前面。 位移、旋转、放大,三者同时进行,边旋转变走变放大。

transform : translate(150px,50px) rotate(180reg) scale(1.2);

}

动画

@keyframes move { //move是自定义的名字

from { //0%

transform : translate (0,0);

}

to { //100%

transform : translate (1000px , 0);

}

}

div {

width : 200px ;

height : 300px;

background-color : skyblue;

animation-name : move;

animation-duration : 2s;

}

走一圈:关键帧,百分比就是总时间animation-duration的划分。

@keyframes movearound {

0%{

transform : translate ( 0,0 );

}

25% {

transform : translate ( 1000px, 0 );

}

50% {

transform : translate ( 1000px,500px );

}

75% {

tranaform : translate ( 0,500px );

}

100% {

transform : translate(0 ,0);

}

}

animation-iteration-count:infinite;循环播放。

综合写法:

animation : name duration timing-function delay iteration-count direction fill-mode;

暂停动画:

animation-play-state : paused; 经常和鼠标经过等其他配合使用。

速度曲线步长:step()

animation:name 4s step(10) forwards; 4秒内分为10步走。

写了step()就不需要写 ease/linear 等速度曲线了。

3D移动translate3d

transform:translate3d(0,100px,100px);

透视perspective

透视是模拟人的眼睛到屏幕的距离,单位是px,透视写在被观察元素的父元素上。

translateZ

写在子元素上,transform:translateZ(100)

3D旋转rotate()

transform:rotateX(-180deg); 结合动画 transition:all 1s

方向:左手准则。(手指方向为正值)

transform:rotateY(90deg);

方向:左手准则。

transform:rotateZ(360deg);

transform:rotate3d(x,y,z,deg) 少用。

3D呈现

transform-style : perserve-3d;开启3d,现在好像不用了。

less

less的使用

定义变量,起到全局作用,一个修改全部修改。

@color:deeppink;以@符开头,后面是自定义名称;

body {

background-color : @color;

}

区分大小写:@color 与 @Color 不同

@font14:14px;定义一个字体为14的变量;

a {

font-size : @font14 ;

}

easy less插件将less文件转化为css文件,<link>引入css进html即可。

less嵌套:

选择子元素:

.header {

width:200px;

height:100px;

background-color:pink;

a{

color : skyblue

& : hover {

color : blue;

}

}

}

在css文件中会自动选择:

.header a {

color : skyblue;

}

.header a:hover {

color : blue;

}

less运算

@border : 5px + 5;

div {

width : 100px + 50;

height : 300px + 20;

border : @border solid blue;

}

左右都要加空格,只需要加一个单位。

vm rem

相对单位:

1vw = 1/100视口宽度;

1rem = 1/10视口宽度;

视图宽度:375px;

盒子宽度100px;

换算为vm : width : 100/(375/100);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值