前端学习第三周-css新增选择器[属性选择器],新增属性,css动效,css动画_css 动画加选择器-程序员宅基地

技术标签: 前端  html  css3  


前言

本周主要学习了手机端界面的静态页面制作、css的新增选择器、css动效以及css动画,可以让整个界面的效果更加丰富。


一、简单的移动端静态页面制作

引用flexible.js需要在link应用css之前。

   <script src="../js/flexible.js"></script>
   <link rel="stylesheet" href="../css/base.css">
   <link rel="stylesheet" href="../css/xiecheng.css">

制作移动端界面,需要将字符的单位由px换成rem,这样可以让整个界面随着手机不同型号的改变,来适应不同的比例,在vs code里面下载px to rem & rpx & vw (cssrem)插件,可以直接识别单位的转换,方便我们代码的编写。

二、属性选择器(新增选择器)

1.格式

代码如下(示例):

格式:
[属性]{
    
	样式;
	}<!--存在某个属性名就能被选上-->
[属性名 = "所有属性值"]{
    
	样式;
	}<!--属性值必须完全相同才能被选中-->
[属性名 ^= "字符"]{
    
	样式;
	}<!--属性值的名称当前的开头值相同被选中-->
[属性名 $= "字符"]{
    
	样式;
	}<!--属性值的名称当前的结尾值相同被选中-->
[属性名 *= "字符"]{
    
	样式;
}<!--属性值的名称包含该字符被选中-->

2.自定义属性

代码如下(示例):

自定义属性前面加上data
data-属性名:""  <!--更加清晰命令,也可以让浏览器更快的解析-->

3.伪类

代码如下(示例):

div:nth-child(3) <!--必选满足第三个孩子,并且第三个孩子必须是div-->
div:nth-of-type(odd)<!--div标签奇数行生效-->
div:nth-of-type(even)<!--div标签偶数行生效-->
div:nth-of-type(3n+1)<!--div标签符合计算值行生效-->
div:first/last-of-type(3n+1)<!--div标签第一个/最后一个生效-->
div:only-of-type(3n+1)<!--div仅有一个才生效-->
div:nth-last-of-type(n)<!--div倒着数的第n个div生效-->

一般不建议使用带“child”的伪类,因为很容易错认标签

4.a标签的四种状态

方便记忆lvha

:link 未访问的状态
:visited 已访问的状态
:hover 鼠标悬停的状态
:active 访问时的状态

::selection 选中内容时更改样式,但是是伪类

三、CSS新增样式

1.阴影

文字阴影(不占位置)
text-shadow:2px 2px 4px red; /x轴偏移量 y轴偏移量 模糊程度 模糊颜色
盒子阴影
box-shadow:2px 2px 4px red inset; /x轴偏移量 y轴偏移量 模糊程度 模糊大小 模糊颜色 内投影(投影的方式)
圆角
border-radius:50px;

2.渐变

线性渐变:

背景渐变颜色
background:linear-gradient(to right top,red 30%,green 70%)<!--颜色可以一直添加,有to,从right到top-->
另一种写法:
background:-webkit-linear-gradient(right top,red 30%,green 70%)<!--加入-webkit-没有to,right为起始值-->

字体颜色渐变
background:linear-gradient(pink,green)
-webkit-background-clip:text;
color:transparent;

径向渐变:

背景颜色渐变
background:radial-gradient(50px circle at 75% 75%,red,green);
半径 圆 位置上下 位置左右 从内颜色 从外颜色
background:radial-gradient(50px 40px ellipse at 75% 75%,red,green);
x半径 y半径 椭圆 位置上下 位置左右(at 设置中心点的位置) 从内颜色 从外颜色
ellipsis省略号   ellipse椭圆

四、CSS动效

1.transform:转换

平移:

transform:translateX(100px);<!--左右移动-->
transform:translateY(100px);<!--上下平移-->
<!--该两个属性值如果一同运用,必须写在同一排,否则只有下面行生效-->
transform:translate(100px,100px);<!--合并属性-->

旋转:

transform:rotate(45deg);<!--中心顺时针旋转45度-->
transform:rotateX(30deg);<!--以x轴旋转-->
transform:rotateY(30deg);<!--以Y轴旋转-->

缩放:

transform:scale(0.5);<!--缩小一半-->
transform:scaleX(2);<!--放大X轴的一倍-->
transform:scaleY(2);<!--放大Y轴的一倍-->

倾斜:

transform:skew(45deg,45deg);<!--角度同时进行,会隐藏该元素-->
transform:skewX(45deg) skewY(45deg);<!--先x轴旋转,后y轴再旋转,元素并不会被隐藏-->
transform:skewX(30deg);<!--度数为正,逆时针倾斜,度数为负,顺时针倾斜-->
transform:skewY(30deg);<!--度数为正,顺时针倾斜,度数为负,逆时针倾斜-->

原点的更改

transform-origin:1px 200px;<!--改变基点,x轴和y轴-->

2.transition:过渡

transition:width 0.3s linear 2s;<!--属性 执行时间 执行过程 延迟时间-->
transition:all 0.3s linear;<!--all包含所有属性,无延迟时间-->
display:none;不支持过渡效果,可以使用opacity:0;

五、CSS动画

animation:动画的名称 执行时间 执行的方式 延迟执行时间 执行次数 执行的方向 停留在初始帧(backwards)还是结束帧(forwords);

animation: an1 4s linear 1s infinte(无限次);
@keyframes an1{
    
	0%{
    
	
		}
	25%{
    
	transform:translate(200px 0px) scale(2);
	}
	...
}

总结

本周学习的内容,可以让界面变得更加动态美观。这周写了两天的手机项目,所以学习的内容并不多。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/keaicha/article/details/124937575

智能推荐

MSP430 G2553 单片机 口袋板 日历 时钟 闹钟 万年历 电子时钟 秒表显示_msp430g2553综合设计-程序员宅基地

文章浏览阅读3.5k次,点赞4次,收藏29次。一、实验目的本次实验使用 MSp430G2553 以及 GZ 扩展版的 LCO 显示、蜂鸣器、机械按键,实现具有多功能电子钟的设计。功能包括,按键切换工作界面、设置时间、秒表计时、闹钟的设定、闹钟的暂停与休眠。二、实验内容与设计思路电子钟功能综述本次电子表设置了四个操作界面,对应于四个基本功能,分别为时钟显示(即正常工作状态) , 时间设定界面,日期设定界面与闹钟设置。界面转换通过按键 keyl 实现切屏的目的。 1 .在时钟显示模块,包含时分秒的显示, 24 小时制下的 0 时 0 分 0 秒,开机后即运_msp430g2553综合设计

String转Map_string 转map-程序员宅基地

文章浏览阅读8.3k次。前提:String为Json类型字符串maven <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.0</version> </dependency>转换 _string 转map

SylixOS中断系统分析_sylixos 中断-程序员宅基地

文章浏览阅读803次,点赞2次,收藏8次。这里写目录标题1. 适用范围2. 原理概述2.1 中断控制器2.2 异常与模式2.3 分组寄存器2.4 中断向量表1. 适用范围本文将会基于ARM架构介绍SylixOS的中断系统,详细的将中断过程进行了分析,对于想了解SylixOS中断有一定帮助。2. 原理概述中断就是硬件或软件产生的一个信号,处理器会根据当前中断的状态,中止正常指令执行,转而响应中断请求。中断是嵌入式系统中一个非常重要的概念,深入了解一个架构或者系统,中断是必须要理解的核心概念之一。ARM架构中外部中断分为普通中断(IRQ)和快_sylixos 中断

非常好用又酷的终端工具 --Tabby-程序员宅基地

文章浏览阅读4.2w次,点赞26次,收藏131次。文章目录Tabby安装包SSH 连接SFTP 传输工具设置TabbyTabby 是一名老外在 Github 开源的终端连接的工具,至今已经累积 20K+ star。Tabby 的功能特性大概有:支持多平台,Windows、MacOS(Intel 芯片/M1 芯片)、Linux 都有对应的安装包的;自带 SFTP 功能,能够与 Linux 系统传输文件;炫酷的终端页面,简单易用,以及各种插件支持等安装包github地址:https://github.com/Eugeny/tabby/re._tabby

尚硅谷-康师傅-MySQL详细笔记(1-9章)_尚硅谷康师傅的mysql里面的qtguigudb文件-程序员宅基地

文章浏览阅读6.8k次,点赞32次,收藏135次。很详细的mysql系列笔记,可以作为备查资料,放心食用!_尚硅谷康师傅的mysql里面的qtguigudb文件

激光导航AGV-激光雷达安装要求_agv小车的激光雷达位置-程序员宅基地

文章浏览阅读4.8k次,点赞2次,收藏21次。首先激光雷达分测量用激光雷达和避障用激光雷达、或两用激光雷达。1、首先根据雷达抗震动和冲击能力,确定是否需要减震支架。2、如果不需要减震支架,可以使用安装耳固定或者雷达上面的其它固定螺丝孔。3、避障雷达要求水平朝上倾斜5度左右,以解决高反射物体的探测。4、测量雷达要求安装平面尽可能与地面平行,用于提高普通定位精度,因为如果有倾斜角度的话,雷达在不同位置探测出来的轮廓会有较大误差,最终影响定..._agv小车的激光雷达位置

随便推点

Springboot启动加载SQL脚本,还有自动建表驼峰式命名的常用配置_hikaridatasource 驼峰开启-程序员宅基地

文章浏览阅读737次。最近在研究Springboot 启动加载SQL文件还有,自动建表的问题,脱坑配置如下spring: datasource: type: com.zaxxer.hikari.HikariDataSource url: jdbc:mysql://localhost:3306/proce?autoReconnect=true&useSSL=false usern..._hikaridatasource 驼峰开启

关于Xilinx软件vivado对工程“Run Synthesis”时报“synthesis failed”的解决方法-程序员宅基地

文章浏览阅读7.8k次,点赞11次,收藏23次。在对vivado进行安装并打开测试工程后,进行“Run Synthesis”,报“synthesis failed”,且未报错,如下图所示。在网上查找了一些方法,如添加“License”、安装早起版本、修改我的电脑名称等,均尝试失败。最终解决问题的方法是修改“计算机名”。前期在网上有看到类似的介绍。但我仅对“我的电脑”图标名进行了修改。正确的操作是鼠标“我的电脑”右键“属性”,查看“计算机名”。此处应为英文,且不可有空格或特殊字符。具体修改方法如下..._synthesis failed

Python3(22):Centos7使用PyInstaller打包出现OSError: Python library not found_python library not in binary dependencies. doing a-程序员宅基地

文章浏览阅读3.5k次。PyInstaller打包python程序$pyinstaller -Fcasb_data.py 13496 INFO: Python library not in binary dependencies. Doing additional searching... Traceback (most recent call last): File "/usr/local/python3/bin/pyinstaller", line 8, in <module>..._python library not in binary dependencies. doing additional searching... obj

Elman神经网络介绍以及Matlab实现-程序员宅基地

文章浏览阅读6.4w次,点赞87次,收藏431次。Elman神经网络介绍1.特点 Elman神经网络是一种典型的动态递归神经网络,它是在BP网络基本结构的基础上,在隐含层增加一个承接层,作为一步延时算子,达到记忆的目的,从而使系统具有适应时变特性的能力,增强了网络的全局稳定性,它比前馈型神经网络具有更强的计算能力,还可以用来解决快速寻优问题。 2.结构 Elman神经网络是应用较为广泛的一种典型的反馈型神经网络模型。一般分为四层:输入层..._elman神经网络

Swift 学习_swift playground是什么-程序员宅基地

文章浏览阅读1.1k次。周末闲来无事,接触一下swift, 在Xcode的playground上玩儿swift还很好玩儿的,会一边编写代码一边检查一遍即使显示基础基本类型Int Double Float String Boollet c = 1_000_000_000let d:Int = 1let e:Double = 1.5let f:Float = 2.2let g:String_swift playground是什么

微信小程序直播开发(注册小程序并开通相关接口)_微信直播接口申请-程序员宅基地

文章浏览阅读8.4k次,点赞7次,收藏21次。注册小程序并开通相关接口出于政策和合规的考虑,微信暂时没有放开所有小程序对 &lt;live-pusher&gt; 和 &lt;live-player&gt; 标签的支持:个人账号和企业账号的小程序暂时只开放如下表格中的类目:主类目 子类目 【社交】 直播 【教育】 在线教育 【医疗】 互联网医院,公立医院 【政务民生】 所有二级类目 ..._微信直播接口申请

推荐文章

热门文章

相关标签