我有一个简单的待办事项列表应用程序。我希望在width
的{{1}}期间,在hovered
开启时增加文本字段的3 seconds
。
我使用了transition
属性,但它无法正常工作。 问题是指鼠标指针悬停在文本字段上时width
会立即增加,而不会在3 seconds
的过程中增加。
我在这里做错了什么?
这里是代码codepen
答案 0 :(得分:2)
您必须在输入中添加更改的CSS属性,这些属性会在悬停时更改。
input{
width: 100px;
transition: width 3s ease-out;
}
input:hover{
width: 300px;
}
输入代码CSS中的代码未命中宽度。
答案 1 :(得分:1)
这是因为你的input does not have width property in default state its auto
。
转换不起作用auto to some value
。
只需将width
属性添加到input
即可。它会起作用。
以下是工作代码。
.main-container {
border: 1px solid #000;
width: 45%;
text-align: center;
}
input {
width: 120px;
padding: 8px;
border-radius: 7px;
transition: width 3s;
border: 2px solid #222;
}
input:hover {
border: 2px solid green;
width: 300px;
}
<div class="main-container">
<h1>To-Do List</h1>
<input type="text" id="input-field" placeholder="enter new item" />
<button id="btn-add-item">Add Item</button>
<button id="btn-remove-item">Remove Last Item</button>
<ul></ul>
</div>
<!--end of main container-->