CSS – translate移动
CSS translate
CSS的 translate 属性允许您沿X轴(水平)、Y轴(垂直)和Z轴(深度)移动一个元素。
translate 属性类似于 transform 属性的 translate() 函数。两者之间的唯一区别是后者不支持Z轴设置。
可能的值
- 单个
<length-percentage>
值:<length>
或<percentage>
值,指定沿着X轴的平移。-
与 translate() 函数相同,只是指定了一个值。
-
两个
<length-percentage>
值:- 两个
<length>
或<percentage>
值,指定沿着X轴和Y轴的平移。 -
与 translate() 函数相同,只是指定了两个值。
- 两个
-
三个值:
- 两个
<length-percentage>
和一个单独的<length>
值,指定沿X轴、Y轴和Z轴的平移。 -
与 translate3d() 函数相同,只是指定了三个值。
- 两个
-
none :不应用任何平移。
适用对象
所有可变形的元素。
DOM语法
object.style.translate = "none | <length-percentage> <length>";
CSS translate – none
这是一个例子,其中 translate 被设置为 none 。
<html>
<head>
<style>
div.box {
height: 50px;
width: 50px;
display: inline-block;
padding: 5px;
border: 1px solid black;
}
#m:hover {
background-color: orange;
translate: none;
}
</style>
</head>
<body>
<div id="m" class="box"></div>
</body>
</html>
CSS translate – X轴
这是一个示例,我们在仅X轴上设置了 **translate: <length> | <percentage>
** :
<html>
<head>
<style>
div.box {
height: 50px;
width: 50px;
display: inline-block;
padding: 15px;
border: 1px solid black;
}
#n:hover {
background-color: lavender;
translate: 20px 0;
}
#o:hover {
background-color: palevioletred;
translate: 50% 0;
}
#p:hover {
background-color: royalblue;
translate: 2rem 0;
}
#m:hover {
background-color: orange;
translate: -30% 0;
}
</style>
</head>
<body>
<p>Bring cursor over the boxes to see the result.</p>
<div id="n" class="box"></div>
<div id="o" class="box"></div>
<div id="p" class="box"></div>
<div id="m" class="box"></div>
</body>
</html>
CSS translate – Y轴
这是一个示例,我们设置了Y轴方向的translate属性: translate: <length> | <percentage>
<html>
<head>
<style>
div.box {
height: 50px;
width: 50px;
display: inline-block;
padding: 15px;
border: 1px solid black;
}
#n:hover {
background-color: lavender;
translate: 0 10px;
}
#o:hover {
background-color: palevioletred;
translate: 0 50%;
}
#p:hover {
background-color: royalblue;
translate: 0 -30px;
}
#m:hover {
background-color: orange;
translate: 0 -30%;
}
</style>
</head>
<body>
<p>Bring cursor over the boxes to see the result.</p>
<div id="n" class="box"></div>
<div id="o" class="box"></div>
<div id="p" class="box"></div>
<div id="m" class="box"></div>
</body>
</html>
CSS translate – Z轴
这是一个例子,我们只对Z轴设置了 translate: <length> | <percentage>
<html>
<head>
<style>
div.box {
height: 50px;
width: 50px;
display: inline-block;
padding: 15px;
border: 1px solid black;
}
#n:hover {
background-color: lavender;
translate: 0 0 10px;
}
#o:hover {
background-color: palevioletred;
translate: 0 0 50%;
}
#p:hover {
background-color: royalblue;
translate: 0 0 -30px;
}
#m:hover {
background-color: orange;
translate: 0 0 -30%;
}
</style>
</head>
<body>
<p>Bring cursor over the boxes to see the result.</p>
<div id="n" class="box"></div>
<div id="o" class="box"></div>
<div id="p" class="box"></div>
<div id="m" class="box"></div>
</body>
</html>
CSS translate – X & Y轴
这是一个示例,我们在X和Y轴上设置了 translate: <length> | <percentage>
:
<html>
<head>
<style>
div.box {
height: 50px;
width: 50px;
display: inline-block;
padding: 15px;
border: 1px solid black;
}
#n:hover {
background-color: lavender;
translate: 10px 30px;
}
#o:hover {
background-color: palevioletred;
translate: 50% -40%;
}
#p:hover {
background-color: royalblue;
translate: -30px -20px;
}
#m:hover {
background-color: orange;
translate: -30% 15px;
}
</style>
</head>
<body>
<p>Bring cursor over the boxes to see the result.</p>
<div id="n" class="box"></div>
<div id="o" class="box"></div>
<div id="p" class="box"></div>
<div id="m" class="box"></div>
</body>
</html>
CSS translate – Y & Z轴
这是一个示例,我们在Y和Z轴上设置了translate: <length> | <percentage>
:
<html>
<head>
<style>
div.box {
height: 50px;
width: 50px;
display: inline-block;
padding: 15px;
border: 1px solid black;
}
#n:hover {
background-color: lavender;
translate: 0 10px 30px;
}
#o:hover {
background-color: palevioletred;
translate: 0 10% 20%;
}
#p:hover {
background-color: royalblue;
translate: 0 -30px -20px;
}
#m:hover {
background-color: orange;
translate: 0 -30% 15px;
}
</style>
</head>
<body>
<p>Bring cursor over the boxes to see the result.</p>
<div id="n" class="box"></div>
<div id="o" class="box"></div>
<div id="p" class="box"></div>
<div id="m" class="box"></div>
</body>
</html>
CSS translate – X&Z轴
这是一个示例,我们在X和Z轴上设置了 translate: <length> | <percentage>
<html>
<head>
<style>
div.box {
height: 50px;
width: 50px;
display: inline-block;
padding: 15px;
border: 1px solid black;
}
#n:hover {
background-color: lavender;
translate: 10px 0 30px;
}
#o:hover {
background-color: palevioletred;
translate: 10% 0 20%;
}
#p:hover {
background-color: royalblue;
translate: -30px 0 -20px;
}
#m:hover {
background-color: orange;
translate: -30% 0 15px;
}
</style>
</head>
<body>
<p>Bring cursor over the boxes to see the result.</p>
<div id="n" class="box"></div>
<div id="o" class="box"></div>
<div id="p" class="box"></div>
<div id="m" class="box"></div>
</body>
</html>
CSS translate – X, Y & Z 轴
这里是一个设置了 X、Y 和 Z 轴的示例: translate: <length> | <percentage>
<html>
<head>
<style>
div.box {
height: 50px;
width: 50px;
display: inline-block;
padding: 15px;
border: 1px solid black;
}
#n:hover {
background-color: lavender;
translate: 10px 20px 30px;
}
#o:hover {
background-color: palevioletred;
translate: 10% 30% 20%;
}
#p:hover {
background-color: royalblue;
translate: -30px 10px -20px;
}
#m:hover {
background-color: orange;
translate: -30% 10px 30px;
}
</style>
</head>
<body>
<p>Bring cursor over the boxes to see the result.</p>
<div id="n" class="box"></div>
<div id="o" class="box"></div>
<div id="p" class="box"></div>
<div id="m" class="box"></div>
</body>
</html>