技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

CSS隐藏元素的10种方法之:使用transform

作者:admin    时间:2022-10-31 20:9:31    浏览:

在前面文章介绍了我们可以通过使用color Alpha 透明度隐藏元素,本文将继续介绍另一种CSS隐藏元素的方法:使用transform

实例

CSS隐藏元素的10种方法之:使用transform 

demodownload

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) 屏幕外将隐藏元素。

度量标准 影响
浏览器支持 良好
可访问性 内容仍可阅读
布局受影响? 否 - 保留原始尺寸
渲染要求 组合
性能 最好,可以使用硬件加速
动画帧可能吗?
隐藏时可触发事件吗?

相关文章

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;
}

结果

 

相关文章

标签: transform  css  CSS隐藏元素  
x
  • 站长推荐
/* 左侧显示文章内容目录 */