猿猿的前端之路就此开始,下面小白白们跟着猿猿一起学习前端基础h5+css叭!
以下是猿猿的学习笔记,内容包含h5+css菜鸟教程几乎所有知识和pink老师知识,外加个人理解简化
截图工具 Snipaste,是一款强大的贴图软件,猿猿们可以自行下载哦
alt取色,shift切换取色模式
网页构成的基本元素:图片、链接、文字、声音、视频,通常是**.htm和.html**为后缀命名的文件,因此称为HTML文件
作用就是读取html或htm文件(即HTML文档),并以网页的形式读取他们。
三大构成:结构、表现、行为,结构更重要
包含和并列关系代码 : 结构标签代码
**结构标签:**html,head、/head,body
根标签、头部、身体三大部分
我利用vscode创建的第一个页面
写代码是一件快乐的事
声名标签,不属于html里面的标签
字符集,代表了各种字符,防止乱码
绝对路径:文件所在电脑的具体位置
标题标签:
不能像正常一样,按空格就能分段换行,需要用段落标签来操作。
div没有语义的标签,span是一个小盒子,是一个大盒子,用来装东西。可装图片或文字
图片需要与网页文件放在同一个文件夹中
也可以复制网页中的图片地址,直接导入自己的网页中
图像标签注意事项:
herf必须要写的属性(写在a后面);两个a中间可加图片或文本
target(元素被链接到的目标元素)以什么方式打开:_self(默认值)当前的窗口打开,_blank新窗口中打开
**:target{display:block;} *target 是“伪类”后边的是样式设置
javascript:void(0) javascript: ;
表格的主要作用:清楚的展示数据
三行三列:
border:10px solid #a1a1a1; 边框粗细和颜色
padding盒子内边距,会影响盒子实际大小,但不存在撑开盒子的情况
padding:7px 13px 0px;内边距上7,左右13,下0
目标单元格:代码写在需要合并的第一个单元格括号内
ul里面有li子,嵌套关系 。ul只能放li,li里面可以放很多东西
ol里面有li子,嵌套关系 。ul只能放li,li里面可以放很多东西
dl里面有dt和dd(dt和dd并列关系,dt大哥在上面)。
表单域就是form:
clls每行最多的字数,rows显示的行数
作用:点击名称也能填写内容空白块
(1条消息) 【CSS 单位 (详细介绍)】_Hey_Coder-CSDN博客_css单位
⑴ em : (相对于 当前元素本身的 )字体大小 font-size 的倍数
⑵ rem : (根元素 html 标签的) 字体大小 font-size 的倍数
⑶ ex : x 的高度 (随 font-family , font-size 改变)
⑷ ch : 数字 0 的宽度 (随 font-family , font-size 改变)
1.1.2 视窗的 相对长度
⑴ vh : 视窗高度 的 1% (百分之一)
⑵ vw :视窗宽度 的 1%(百分之一)
⑶ vmin : vw 和 vh 中的 较小值 (宽/高较小值的 百分之一)
⑶ vmax : vw 和 vh 中的 较大值 (宽/高较大值的 百分之一)
♣ 视窗单位的 计算方法
⑴ 定位 中的百分比
⑵ 盒模型 中的百分比
⑶ 文本 中的百分比
⑷ 边框 和 圆角 中的百分比
⑸ 背景 属性中的百分比
⑹ 变换 中的百分比
♣ 百分比值的 继承
⑴ px : 像素
⑵ cm : 厘米 ( 1/2.54 in , 38px)
⑶ mm : 毫米 (1/25.4 in, 3.8px)
⑷ in : 英寸 ( 1in = 96px ,2.54cm)
⑸ pc : 派卡 ( 1/6 in ,12pt, 16px)
⑹ pt : 点 (显示器上 一个个的点,1/72 in,1.3px)
♣ CSS 绝对单位的 换算关系
♣ 长度单位的 浏览器支持
CSS 中 两个常见的 时间单位
① 秒(s)
② 毫秒(ms)
换算: 1s = 1000ms。
搭配属性: 常用于 CSS 中 transition-duration、transition-delay、animation-duration 和 animation-delay 属性中。
2.频率单位 (Hz , kHz)
角度单位 (deg,rad,grads,turn)
⑴ 角度: deg
角度最常用的 用法
① 设置 旋转角度:
在CSS 中 给 旋转元素 设置一个旋转角度(度数),依赖于 CSS 的 transform 属性中的rotate(),skew() 函数等
② 渐变中的角度: linear-gradient(260deg,red,blue)
0deg = to top
角度缺省的默认值: to bottom = 180deg
⑵ 百分度(grads):
一个分度,百分度 相对于 1/400 个整圆
跟角度单位一样,支持负值
负值表示逆时针方向,100grad = 90deg
⑶ 弧度(rad):
在 Canvas中 用到弧度
1rad = 180/π °(大约为 57.3deg)
1.570796326794897rad = 100grad = 90deg
rad = (π / 180) * deg
deg = (rad * 180) / π
⑷ 圈数(turn):1turn = 360deg
HTML(结构)样式简单,只能写出元素,调试样式美化界面比较复杂。这时候就可以用css(样式)来美化网页,让布局更简单,更漂亮。
总结HTML和css:
差异化选择类标签,单独选择一个或几个标签。样式点定义,结构类调用,一个或多个,开发最常用
命名时遵循类的命名规范,可多次使用。
多类名的使用方法和好处:用空格把两个类名隔开;可以统一修改多个盒子
多类名的使用场景:
样式#定义,结构id调用,只能调用一次,别人切勿使用 .选择所有id内容
用*定义,表示网页中所有的元素。
开头选择器:pulse1 pulse2 pulse3 pulse4
正常字体粗细400,字体加粗用纯数字,字体大小尺寸加px。
不能更换顺序,size和family不能省略
水平:text-aline: 垂直:text-height
px:缩进单位 em:缩进相对单位,2em表示缩进两个字的大小
css放到html内部,单独写到style内部 。 div
style属性开头=” ; “,内容写到引号中间,不同内容用分号隔开。
1.新建一个.css文件;
rel href
切换自动换行:alt+z
字体大小/字体行距、字体类型;标题不加粗,标题居中;hr画横线。
单词的首字母,快捷键
注意:
只能选择作为某元素的最近一级子元素,只能选择儿子不能选择孙子
可以选择多组标签,同时为他们定义相同的样式,实现集体声明。
用于给某些特殊的选择器中添加特殊效果,特点:用冒号”:“表示
按顺序书写
a:link 未访问过的链接 ,a:link 把没有点击的(访问过的)链接选出来
a:visited 选择点击过的访问链接
a:hover 选择鼠标经过的
a:active 鼠标按下去没有松开时的属性
注意事项:顺序 love hate(你个伪君子,先喜欢在讨厌)
:focus 用于选取获得焦点(鼠标光标)的表单元素
主要针对表单来说,一般是 imput表单才能获取,注意没有空格
只占一行的,是个容器,宽高都可以设置
不会分段,无法设置宽高,行内只能容纳纯文本或其他行内元素。
特殊:链接里不能放链接;a里面可以放块级元素但给a转换成块级模式最安全。
img、input、td,同时具有块元素和行内元素的特点
默认值:transparnt(透明)
一行代码使布局平均分配,任何一种元素都可以改成flex布局
注意:使用前先确定主轴方向是哪个。
**注意:**适用于子项出现换行(flex-wrap:wrap)情况(多行,在单行是没有效果的)
①order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。
② flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
③ flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
④ flex-basis定义项目占据的主轴空间。(如果主轴为水平,则设置这个属性,相当于设置项目的宽度。 原width将会失效。)
⑤ flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。
⑥ align-self:定义单个项目自身在交叉轴上的排列方式,可以覆盖掉容器上的align-items属性。
属性值:与align-items相同,默认值为auto,表示继承父容器的align-items属性值。
列间距:
grid-template-areas
position有以下属性:static、inherit、fixed、absolute、relative
前三个好理解好区分:
static:是默认状态,没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
nherit:从父元素继承 position 属性的值。
fixed:生成绝对定位的元素,相对于浏览器窗口进行定位。(即滚动浏览器的时候,元素永远固定显示在窗口可视区的某个位置)。
比较常用而且会引起初学者迷惑的是absolute和relative,它俩有什么分别呢?
一、先来看看W3C给的概念(定位是不占位置的)子绝父相
absolute:生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
relative:生成相对定位的元素,相对于其正常位置进行定位。
两者最核心的区别在于:absolute不受父元素里的其他元素影响,而relative会受到父元素里的其他元素影响。
绝对定位:position: absolute
绝对定位是相对于元素最近的已定位的祖先元素,如果元素没有已定位的祖先元素,那么它的位置则是相对于最初的包含块(也就是body)。
绝对定位本身与文档流无关,因此不占空间,普通文档流中的元素的布局就当绝对定位的元素不存在时一样,所以它们可以覆盖页面上其他的元素,且可以通过z-index属性来控制这些层的相应顺序。
相对定位:position: relative
相对定位:相对位置的坐标参考系是以自己上一次的位置(x,y)作为原点(0,0)。
注意:在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其它框。
加入绝对定位、相对定位浮动的行内元素
过度写到本身上,谁做动画给谁加 transform:all 0.3s;
移动盒子位置三种方法:定位、盒子外边距、2d转换
水平移动100px,垂直移动100px
参数可以用百分号,如50% 移动自身宽度的一半
水平居中垂直居中绝对定位 :
top:50% left50%
transform:translate(-50%,-50%)/margin-top:-盒子的一半像素 ;margin-left:-盒子的一半像素
不跟单位,数字就是倍的意思,x=2就是宽变为两倍
等比例缩放 语法:transform:scale(z);括号里面只有一个数字
不会影响其他盒子,可以设置中心点
注意:treanslate位移写在最前面
先定义动画,在使用(调用动画)
0% 和 100% 可替换为 from 和to
百分比*时间=每个状态所用的时间
animation:卡通片绘制 duration:持续时间
linear(匀速),前两个要写上
动画的速度曲线:
opacity(透明度)
animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1)(透视轮播图)
cubic-bezier即为贝兹bai曲线中du的绘制方法。
图上有四zhi点,P0-3,其中P0、P3是默认的dao点,对应了zhuan[0,0], [1,1]。而剩下的P1、P2两点则是shu我们通过cubic-bezier()自定义的。cubic-bezier(x1, y1, x2, y2) 为自定义,x1,x2,y1,y2的值范围在[0, 1]。
预留的几个特效:
ease: cubic-bezier(0.25, 0.1, 0.25, 1.0)
linear: cubic-bezier(0.0, 0.0, 1.0, 1.0)
ease-in: cubic-bezier(0.42, 0, 1.0, 1.0)
ease-out: cubic-bezier(0, 0, 0.58, 1.0)
ease-in-out: cubic-bezier(0.42, 0, 0.58, 1.0)CSS即层叠样式表(Cascading StyleSheet)。 在网页制作时采用层叠样式表技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。
透视写在父级中
左手法则:大拇指为x、y、z正方向,四指指的方向为正直(y轴正方向朝下)
xyz值要么是0,要么是1
实现近大远小特点:改变perspective或z的大小(两者同时存在)
就是视距,透视越小,盒子越大,产生3d效果,在二维平面产生近大远小的特点
拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面
*: z - index *(位置:绝对、位置:相对 或位置:固定]
轮播图-锚点