CSS <time> 数据类型表示持续时间。它用于需要时间值的属性,例如 animation-duration、transition-duration 以及某些其他属性。 <time> 的值可以以秒 (s)、毫秒 (ms) 或其他时间单位指定。
可能的值
以下单位可与 <time> 数据类型一起使用:
s - 表示以秒为单位的时间间隔。
ms - 表示以毫秒为单位的时间间隔。
语法
<number>unit
<time> 数据类型中的 <number> 后跟上述特定单位。可以选择在其前面添加一个 + 或 - 号。
单位文字和数字不应分开,就像在其他维度中一样。
CSS <time>: 有效语法
以下是有效时间列表:
时间 | 描述 |
---|---|
19.6 | 正整数 |
-123ms | 负整数。 |
2.6ms | 非整数 |
10mS | 虽然不必使用大写字母,但单位不区分大小写。 |
+0s | 带单位和前导 + 的零 |
-0ms | 零、单位和前导 - |
CSS <time>: 无效语法
以下是无效时间列表:
时间 | 描述 |
---|---|
0 | 无单位零对于 <time>s 无效,但是<length>s 允许使用。 |
14.0 | 这缺少单位,因此它是 <number> 而不是 <time>。 |
9 ms | 数字和单位之间不允许有空格。 |
CSS <time>: 有效/无效时间检查
以下示例允许您检查提供的输入是有效还是无效时间
<html>
<head>
<style>
body {
font-family: Arial, sans-serif;
}
.container {
width: 50%;
margin: 50px auto;
text-align: center;
}
label {
margin-right: 10px;
}
input {
padding: 5px;
margin-right: 10px;
}
button {
padding: 5px 10px;
cursor: pointer;
}
#result {
margin-top: 20px;
font-weight: bold;
}
</style>
</head>
<body>
<div class="container">
<h2>时间输入验证</h2>
<form id="timeForm">
<label for="timeInput">输入时间:</label>
<input type="text" id="timeInput" name="timeInput" placeholder="e.g., 5s or -200ms or 10mS">
<button type="button" onclick="validateTime()">检查</button>
</form>
<p id="result"></p>
</div>
<script>
function validateTime() {
const userInput = document.getElementById('timeInput').value.trim();
// 匹配有效时间输入的正则表达式
const validTimeRegex = /^(0|(\+|-)?\d+(\.\d+)?(s|ms))$/i;
if (validTimeRegex.test(userInput)) {
document.getElementById('result').innerText = 'Valid time input!';
}
else {
document.getElementById('result').innerText = 'Invalid time input!';
}
}
</script>
</body>
</html>
CSS <time>: 与transition-duration一起使用
使用时在 CSS 的 transition-duration 中,<time> 数据类型定义过渡效果的持续时间,指示过渡需要多长时间才能完成。
它可以精确控制 CSS 转换的时间,可以以毫秒或秒为单位定义。
<html>
<head>
<style>
button {
transition-property: background-color, color, transform;
transition-duration: 3s;
transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
background-color: #2ecc71;
color: white;
border: none;
padding: 15px 30px;
font-size: 18px;
cursor: pointer;
border-radius: 8px;
outline: none;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
button:hover {
background-color: #3498db;
color: #fff;
transform: translateY(-3px);
box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
}
</style>
</head>
<body>
<button>将鼠标悬停在此按钮上 3 秒</button>
</body>
</html>