CSS translate属性允许你沿着X轴(水平)、Y轴(垂直)和Z轴(深度)移动元素。
translate属性类似于transform 属性的translate() 函数。两者唯一的区别是后者不支持Z轴设置。
属性值
1.单个值:
<length> 或 <percentage> 值,指定沿 X 轴的平移。
与 translate() 函数,指定一个值。
2.两个值:
两个 <length> 或 <percentage> 值,指定沿 X 轴和 Y 轴的平移。
与 translate() 函数,指定两个值。
3.三个值:
两个 <length-percentage> 和单个 <length> 值,指定沿 X、Y 和 Z 轴的平移。
与 translate3d() 函数相同,指定三个值。
4. none:不应用任何移动。
适用范围
所有可变形元素。
DOM 语法
object.style.translate = "none | <length-percentage> <length>";
CSS translate: none
下面是一个将translate设置为none的示例,这将导致不进行移动。与伪类 :hover 一起应用。
<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 轴上进行移动
这里是一个移动示例:<length> | <percentage> 值仅针对 X 轴设置,该值沿 X 轴平移元素。与伪类 :hover 一起应用。
<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>
<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 轴上进行移动
这里是一个移动示例:<length> | <percentage> 值仅针对 Y 轴设置,该值沿 Y 轴平移元素。与伪类 :hover 一起应用。
<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>
<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 轴上进行移动
这里是一个移动示例:<length> | <percentage> 值仅针对 Z 轴设置,该值沿 Z 轴平移元素。与伪类 :hover 一起应用。
<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>
<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 轴上进行移动
这里是一个移动示例:<length> | <percentage> 值是为 X 和 Y 轴设置的,它沿 X 和 Y 轴平移元素。与伪类 :hover 一起应用。
<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>
<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 上进行平移Z 轴
这是一个移动示例:<length> | <percentage> 值是为 Y 轴和 Z 轴设置的,该值在 Y 轴和 Z 轴上平移元素。与伪类 :hover 一起应用。
<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>
<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 轴上进行移动
这里是一个移动示例:<length> | <percentage> 值是为 X 轴和 Z 轴设置的,它沿 X 轴和 Z 轴平移元素。与伪类 :hover 一起应用。
<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>
<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 轴上进行移动
这里是一个移动示例:<length> | <percentage> 值是为 X、Y 和 Z 轴设置的,它沿所有三个轴平移元素。与伪类 :hover 一起应用。
<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>
<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>