劳资蜀道山 發表於 2023-3-27 19:16:00

CSS学习笔记

<p><span style="font-size: 18px"><strong><span style="color: rgba(224, 62, 45, 1)">CSS学习笔记</span></strong></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">vertical-align</span></p>
<p><span style="font-size: 18px">vertical-align 属性设置元素的垂直对齐方式。</span></p>
<p><span style="font-size: 18px">css中的vertical-align 属性只能用于&nbsp;行内元素&nbsp;和&nbsp;置换元素(例如 图像和表单输入框) ,此属性不继承。</span></p>
<p><span style="font-size: 18px">vertical-align的取值:baseline|sub|super|top|text-top|middel|bottom|text-bottom|&lt;length&gt;|&lt;percentage&gt;;</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">网页坐标系:左上角为原点;X水平,向右为正向左为负;Y垂直,向下为正,向上为负;</span></p>
<p><span style="font-size: 18px">转换/变换/transform是CSS3中具有颠覆性的特征之一,可以实现平移、旋转、缩放等效果;</span></p>
<p><span style="font-size: 18px">转换/变换/transform可以理解为变形;</span></p>
<p><span style="font-size: 18px">盒子移动的3种方式:定位position、外边距margin、平移translate;</span></p>
<p><span style="font-size: 18px">transform-2D变换</span></p>
<table>
<tbody>
<tr>
<td width="138">
<p><span style="font-size: 18px">translate</span></p>
</td>
<td width="573">
<p><span style="font-size: 18px">先走父盒子一半,再回退自己的一半,然后就在父盒子内居中了;</span></p>
<p><span style="font-size: 18px">position:absolute;top:50%;left:50%;向右、向下走父盒子(width/height)的一半;</span></p>
<p><span style="font-size: 18px">transform:translate(-50%,-50%);向左、向上走自己盒子(width/height)的一半;</span></p>
<p><span style="font-size: 18px"><strong>translate对于行内元素无效</strong>;</span></p>
<p><span style="font-size: 18px">translate可以接受px参数,也可以接受%参数,其中<strong>%是相对于自身尺寸的百分比</strong>;</span></p>
<p><span style="font-size: 18px">如果只想移动其中一个坐标轴,可以用translateX,translateY;</span></p>
<p><span style="font-size: 18px">translate(x,0),translate(0,y);</span></p>
<p><span style="font-size: 18px"><strong>translate不会影响其他元素的位置</strong>;</span></p>
</td>
</tr>
<tr>
<td width="138">
<p><span style="font-size: 18px">rotate</span></p>
</td>
<td width="573">
<p><span style="font-size: 18px">tranform:rotate(45deg);</span></p>
<p><span style="font-size: 18px">deg旋转的度数,正值表示顺时针旋转,负值逆时针;</span></p>
<p><span style="font-size: 18px">旋转中心默认为元素中心点;</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">自定义旋转中心点:transform-origin:x y;参数之间用空格隔开;</span></p>
<p><span style="font-size: 18px">xy默认值是元素中心点50% 50%;可以接受的参数类型:%,px,方位词;</span></p>
<p><span style="font-size: 18px">还可以设置像素值px或者方位名词:top,bottom,left,right center;</span></p>
</td>
</tr>
<tr>
<td width="138">
<p><span style="font-size: 18px">scale</span></p>
</td>
<td width="573">
<p><span style="font-size: 18px">transform:scale(x,y);</span></p>
<p><span style="font-size: 18px">x,y之间用逗号分隔;</span></p>
<p><span style="font-size: 18px">transform:scale(2,1);宽度为原来2倍,高度不变;</span></p>
<p><span style="font-size: 18px">transform:scale(2);宽高同时放大为原来的2倍;</span></p>
<p><span style="font-size: 18px">transform:scale(0.5);宽高同时缩小为原来的一半;</span></p>
<p><span style="font-size: 18px">scale也可以设置转换中心,默认中心点缩放;</span></p>
<p><span style="font-size: 18px">scale操作<strong>不影响其他盒子</strong>;</span></p>
</td>
</tr>
</tbody>
</table>
<p><span style="font-size: 18px">animation动画</span></p>
<table>
<tbody>
<tr>
<td width="104">
<p><span style="font-size: 18px">基础</span></p>
</td>
<td width="607">
<p><span style="font-size: 18px">0%是动画的开始,100%是动画的结束;这就是动画序列;</span></p>
<p><span style="font-size: 18px">在@keyframes中规定某项CSS样式,就能创建由当前样式逐渐更改为新样式效果;</span></p>
<p><span style="font-size: 18px">关键词from-to相当于0%-100%;</span></p>
<p><span style="font-size: 18px">1、定义动画@keyframes wheel {</span></p>
<p><span style="font-size: 18px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;from {transform: translateX(0) rotate(0); }</span></p>
<p><span style="font-size: 18px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to {transform: translateX(600px) rotate(3600deg);} }</span></p>
<p><span style="font-size: 18px">2、使用动画animation-name: wheel; &nbsp;animation-duration: 20s;</span></p>
</td>
</tr>
<tr>
<td width="104">
<p><span style="font-size: 18px">属性</span></p>
</td>
<td width="607">
<p><span style="font-size: 18px">anination-name调用的动画名称;</span></p>
<p><span style="font-size: 18px">animation-duration动画时序时长,单位秒s;</span></p>
<p><span style="font-size: 18px">@keyframes定义动画;关键词from-to相当于0%-100%;</span></p>
<p><span style="font-size: 18px">animation所有动画属性简写,除了animation-paly-state;</span></p>
<p><span style="font-size: 18px">animation-delay 动画开始时间,单位秒s;</span></p>
<p><span style="font-size: 18px">animation-iteration-count动画播放次数,默认1,无穷用infinite;</span></p>
<p><span style="font-size: 18px">animation-direction是否在下一个周期<strong>逆向播放</strong>,默认normal不逆向,alternate逆向;</span></p>
<p><span style="font-size: 18px">animation-timing-function动画速度曲线,默认ease;</span></p>
<p><span style="font-size: 18px">animation-fill-mode动画<strong>结束后</strong>,要不要回到开始位置,backwards回来,forwards不回来;</span></p>
<p><span style="font-size: 18px">animation-play-state动画是否正在播放;running在播放,pause暂停了;</span></p>
<p><span style="font-size: 18px">速度曲线:</span></p>
<p><span style="font-size: 18px">linear匀速;ease结束前变慢;ease-in低速开始;ease-out低速结束;</span></p>
<p><span style="font-size: 18px">&nbsp;ease-in-out低速开始,低速结束;steps()指定时间函数中间隔数量(步长);</span></p>
<p><span style="font-size: 18px">动画简写:animation:动画名称 持续时间 运动曲线 开始时间 播放次数 是否反向 结束状态;</span></p>
</td>
</tr>
</tbody>
</table>
<p><span style="font-size: 18px">translate-3D</span></p>
<p><span style="font-size: 18px">Z轴垂直于屏幕,屏幕向外为正,向内为负值;Z越大,离眼睛越近,物体越大;</span></p>
<table>
<tbody>
<tr>
<td width="139">
<p><span style="font-size: 18px">translate3d</span></p>
</td>
<td width="572">
<p><span style="font-size: 18px">transform:translateX(100px),transform:translateY(100px);</span></p>
<p><span style="font-size: 18px">transform:translateZ(100px),一般以px为单位进行移动;</span></p>
<p><span style="font-size: 18px">translateZ(100px)表示向屏幕外移动100px,与眼睛的距离拉近100px;</span></p>
<p><span style="font-size: 18px">transform:translate3d(x,y,z)</span></p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td width="139">
<p><span style="font-size: 18px">rotate3d</span></p>
</td>
<td width="572">
<p><span style="font-size: 18px">transform:rotateX(45deg);</span></p>
<p><span style="font-size: 18px">transform:rotateY(45deg);</span></p>
<p><span style="font-size: 18px">transform:rotateZ(45deg);</span></p>
<p><span style="font-size: 18px">transform:rotate3d(x,y,z);</span></p>
<p><span style="font-size: 18px">左手准则:大拇指指向坐标轴正方向,四指弯曲方向就是旋转正方向;</span></p>
</td>
</tr>
<tr>
<td width="139">
<p><span style="font-size: 18px">perspective透视</span></p>
</td>
<td width="572">
<p><span style="font-size: 18px">在2D平面产生近大远小的视觉立体,但是只是二维效果;</span></p>
<p><span style="font-size: 18px">透视称为视距:视距就是人的眼睛到屏幕的距离;</span></p>
<p><span style="font-size: 18px">距离视觉点越近成像越大,越远成像越小;近大远小;</span></p>
<p><span style="font-size: 18px">透视的单位是像素px;</span></p>
<p><span style="font-size: 18px">透视要写到被观察物体的<strong>父盒子</strong>上面;</span></p>
<p><span style="font-size: 18px">perspective:200px;</span></p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td width="139">
<p><span style="font-size: 18px">transform-style</span></p>
</td>
<td width="572">
<p><span style="font-size: 18px">控制子元素是否开启三维立体环境;</span></p>
<p><span style="font-size: 18px">不开启子元素的3d(默认):transform-style:flat;</span></p>
<p><span style="font-size: 18px">子元素启用3d效果:transform-style:preserve-3d;</span></p>
<p><span style="font-size: 18px">属性写给父元素,影响的是子盒子;</span></p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><span style="font-size: 18px">元素的显示模式和转换方法总结</span></p>
<table>
<tbody>
<tr>
<td width="101">
<p><span style="font-size: 18px">分类</span></p>
</td>
<td width="127">
<p><span style="font-size: 18px">举例</span></p>
</td>
<td width="305">
<p><span style="font-size: 18px">特点</span></p>
</td>
<td width="178">
<p><span style="font-size: 18px">转换</span></p>
</td>
</tr>
<tr>
<td width="101">
<p><span style="font-size: 18px">块级元素</span></p>
</td>
<td width="127">
<p><span style="font-size: 18px">h1-h6,p,div,ul,ol,li</span></p>
</td>
<td width="305">
<p><span style="font-size: 18px">自己独占一行;</span></p>
<p><span style="font-size: 18px">高度宽度、内外边距可以控制;</span></p>
<p><span style="font-size: 18px">默认宽度是容器(父级)的100%;</span></p>
<p><span style="font-size: 18px">里面可以放行内元素或块级元素;</span></p>
</td>
<td width="178">
<p><span style="font-size: 18px">转换为块级元素:</span></p>
<p><span style="font-size: 18px">display:block;</span></p>
</td>
</tr>
<tr>
<td width="101">
<p><span style="font-size: 18px">行内元素</span></p>
</td>
<td width="127">
<p><span style="font-size: 18px">a,strong,b,em,i,del,s, ins,u,span</span></p>
</td>
<td width="305">
<p><span style="font-size: 18px">也称为内联元素,一行可以放多个;</span></p>
<p><span style="font-size: 18px">宽度高度设置无效;</span></p>
<p><span style="font-size: 18px">默认宽度是其本身内容的宽度;</span></p>
<p><span style="font-size: 18px">行内元素只能容纳文本或者其他行内元素;</span></p>
<p>&nbsp;</p>
</td>
<td width="178">
<p><span style="font-size: 18px">转换为行内元素:</span></p>
<p><span style="font-size: 18px">display:inline;</span></p>
</td>
</tr>
<tr>
<td width="101">
<p><span style="font-size: 18px">行内块元素</span></p>
</td>
<td width="127">
<p><span style="font-size: 18px">img,input,td</span></p>
</td>
<td width="305">
<p><span style="font-size: 18px">同时具有行内元素和块级元素的特点;</span></p>
<p><span style="font-size: 18px">和相邻的行内元素(或行内块元素)在一行显示,他们之间会有空白间隙,一行可以显示多个(行内元素的特点);</span></p>
<p><span style="font-size: 18px">行内元素卆他本身内容的宽度(行内元素的特点);</span></p>
<p><span style="font-size: 18px">宽度高度、内外边距都可以 控制(块级元素的特点);</span></p>
</td>
<td width="178">
<p><span style="font-size: 18px">转换为行内块元素:</span></p>
<p><span style="font-size: 18px">display:inline-block;</span></p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">#end</span></p><br><br>
来源:https://www.cnblogs.com/zhangdezhang/p/17229713.html
頁: [1]
查看完整版本: CSS学习笔记