运用CSS伪类与属性,巧妙实现背景图片旋转效果

需求

开发的时候遇到需要将背景图片旋转-45度。这样的效果。
在这里插入图片描述
UI给的图片是正的。
在这里插入图片描述

方法

第一想到的是通过设置css3样式的transform: rotate(-45deg)。

问题

但是发现内容也跟着旋转了。

解决

所以把背景图放到伪类中进行旋转就可以完美解决这个问题了

.bgimg1{
	position: relative;
}
.bgimg1::after {
	content: "";
	position: absolute;
	right: 30px;
	top: 0;
	width: 108px;
	height: 108px;
	display: block;
	background-size: 108px 108px;
	background-repeat: no-repeat;
	background-position: right top;
	background-image: url('./images/state1.png');
	transform: rotate(-45deg);
	opacity: 0.8;
}
扩展
  • transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。
描述
none定义不进行转换。
translate(x,y)定义 2D 转换。
translate3d(x,y,z)定义 3D 转换。
translateX(x)定义转换,只是用 X 轴的值。
translateY(y)定义转换,只是用 Y 轴的值。
translateZ(z)定义 3D 转换,只是用 Z 轴的值。
scale(x[,y]?)定义 2D 缩放转换。
scale3d(x,y,z)定义 3D 缩放转换。
scaleX(x)通过设置 X 轴的值来定义缩放转换。
scaleY(y)通过设置 Y 轴的值来定义缩放转换。
scaleZ(z)通过设置 Z 轴的值来定义 3D 缩放转换。
rotate(angle)定义 2D 旋转,在参数中规定角度。
rotate3d(x,y,z,angle)定义 3D 旋转。
rotateX(angle)定义沿着 X 轴的 3D 旋转。
rotateY(angle)定义沿着 Y 轴的 3D 旋转。
rotateZ(angle)定义沿着 Z 轴的 3D 旋转。
  • CSS伪类是用来添加一些选择器的特殊效果。
伪类/伪元素描述
:hover选择鼠标指针浮动在其上的元素
:active选择被用户激活的元素,例如点击按钮
:link选择所有未被访问的链接
:visited选择所有已被访问的链接
:first-child选择其父元素的第一个子元素
:last-child选择其父元素的最后一个子元素
:nth-child(n)选择其父元素的第n个子元素
:nth-last-child(n)选择其父元素的倒数第n个子元素
:only-child选择其父元素仅有的子元素
:only-of-type选择其父元素同类型子元素中仅有的一个
:empty选择没有子元素的元素
:not(selector)选择不符合给定选择器的元素
:nth-of-type(n)选择同类型子元素中的第n个元素
:nth-last-of-type(n)选择同类型子元素中的倒数第n个元素
:first-of-type选择同类型子元素中的第一个元素
:last-of-type选择同类型子元素中的最后一个元素
:lang(language)选择带有指定语言的元素
:focus选择获得焦点的元素
:target选择当前活动的目标元素
:enabled选择启用的元素
:disabled选择禁用的元素
:checked选择被选中的元素(如单选按钮或复选框)
:not(selector)否定选择器,返回与给定选择器不匹配的元素
:root选择文档的根元素
:nth-root(n)选择根元素的第n个子元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邹荣乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值