CSS隐藏元素的10种方法之:使用transform
作者:admin 时间:2022-10-31 20:9:31 浏览:在前面文章介绍了我们可以通过使用color Alpha 透明度隐藏元素,本文将继续介绍另一种CSS隐藏元素的方法:使用transform
。
实例
HTML
<ol class="hide" tabindex="0">
<li>one</li>
<li class="hide-item">two</li>
<li>three</li>
</ol>
<p>鼠标移到任何一个盒子上隐藏盒子two,<br>使用 <b>transform: scale(0);</b>。</p>
CSS
/* 隐藏元素 */
.hide:hover .hide-item,
.hide:focus .hide-item {
transform: scale(0);
/*
alternatively:
transform: translate(-999px, 0);
*/
}
/* 其他样式 */
body {
font-family: sans-serif;
font-size: 100%;
color: #222;
background-color: #fff;
}
p {
text-align: center;
}
.hide {
display: flex;
justify-content: center;
list-style-type: none;
padding: 0;
margin: 0;
}
.hide > * {
flex: 0 0 25%;
font-size: 2em;
text-align: center;
padding: 1em 0;
margin: 0.2em;
background-color: #ccc;
border-radius: 0.5em;
user-select: none;
}
.hide-item {
background-color: #f66;
cursor: pointer;
}
transform
提供出色的性能和硬件加速,因为元素被有效地移动到单独的层中,并且可以在 2D 或 3D 中进行动画处理。原始布局空间保持原样,但完全隐藏的元素不会触发任何事件。
transform
属性可用于平移(移动)、缩放、旋转或倾斜元素,使用scale(0)
或 translate(-999px, 0px)
屏幕外将隐藏元素。
度量标准 | 影响 |
---|---|
浏览器支持 | 良好 |
可访问性 | 内容仍可阅读 |
布局受影响? | 否 - 保留原始尺寸 |
渲染要求 | 组合 |
性能 | 最好,可以使用硬件加速 |
动画帧可能吗? | 是 |
隐藏时可触发事件吗? | 不 |
相关文章
- CSS隐藏元素的10种方法之:缩小尺寸
- CSS隐藏元素的10种方法之:使用::after伪元素
- CSS隐藏元素的10种方法之:使用position属性
- CSS隐藏元素的10种方法之:使用display
- CSS隐藏元素的10种方法之:使用visibility
- CSS隐藏元素的10种方法之:使用clip-path
- CSS隐藏元素的10种方法之:使用transform
- CSS隐藏元素的10种方法之:color Alpha 透明度
- CSS隐藏元素的10种方法之:opacity和filter: opacity()
transform 属性
CSS transform
属性允许你旋转,缩放,倾斜或平移给定元素。这是通过修改 CSS 视觉格式化模型的坐标空间来实现的。
警告: 只能转换由盒模型定位的元素。根据经验,如果元素具有display: block
,则由盒模型定位元素。
语法
/* Keyword values */
transform: none;
/* Function values */
transform: matrix(1.0, 2.0, 3.0, 4.0, 5.0, 6.0);
transform: translate(12px, 50%);
transform: translateX(2em);
transform: translateY(3in);
transform: scale(2, 0.5);
transform: scaleX(2);
transform: scaleY(0.5);
transform: rotate(0.5turn);
transform: skew(30deg, 20deg);
transform: skewX(30deg);
transform: skewY(1.07rad);
transform: matrix3d(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0);
transform: translate3d(12px, 50%, 3em);
transform: translateZ(2px);
transform: scale3d(2.5, 1.2, 0.3);
transform: scaleZ(0.3);
transform: rotate3d(1, 2.0, 3.0, 10deg);
transform: rotateX(10deg);
transform: rotateY(10deg);
transform: rotateZ(10deg);
transform: perspective(17px);
/* Multiple function values */
transform: translateX(10px) rotate(10deg) translateY(5px);
/* Global values */
transform: inherit;
transform: initial;
transform: unset;
transform
属性可以指定为关键字值 none
或一个或多个 <transform-function>
值。
值
<transform-function>
要应用的一个或多个 CSS 变换函数。变换函数按从左到右的顺序相乘,这意味着复合变换按从右到左的顺序有效地应用。
none
不应用任何变换。
浏览器兼容性
示例
HTML
<div>Transformed element</div>
CSS
div {
border: solid red;
transform: translate(30px, 20px) rotate(20deg);
width: 140px;
height: 60px;
}
结果
相关文章
相关文章
x
- 站长推荐