如何使用 :before pseudo class 制作跨度输入?
How can I make a Input with a span with :before pseudo class?
这是我在 Whosebug 中的第一个问题...
我有一个输入类型按钮,我想在这个动画之前添加一个 pseudo:class (http://codepen.io/anon/pen/emodKG)。我知道这是不可能的,因为输入不能包含任何东西。所以我尝试用我的输入添加一个跨度,这个跨度我从 CodePen 给 class "btn" ...
问题是跨度超过了我的输入,我有动画但无法点击。
<span class="btn"><input type="button"></span>
试试这个,我想这对你有帮助:)
.btn {
position: relative;
display: block;
margin: 30px auto;
padding: 20px;
overflow: hidden;
border-width: 0;
outline: none;
border-radius: 2px;
box-shadow: 0 1px 4px rgba(0, 0, 0, .6);
background-color: #2ecc71;
color: #ecf0f1;
transition: background-color .8s;
text-align: center;
}
.btn:hover,
.btn:focus {
background-color: #27ae60;
}
.btn:before {
content: "";
position: absolute;
top: 50%;
left: 50%;
display: block;
width: 0;
padding-top: 0;
border-radius: 100%;
background-color: rgba(236, 240, 241, .2);
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.btn:active:before {
width: 100%;
padding-top: 100%;
transition: width .1s ease-out, padding-top .1s ease-out;
}
.btn input {
display: none;
}
<label class="btn"><input type="button" />Button</label>
这是我在 Whosebug 中的第一个问题... 我有一个输入类型按钮,我想在这个动画之前添加一个 pseudo:class (http://codepen.io/anon/pen/emodKG)。我知道这是不可能的,因为输入不能包含任何东西。所以我尝试用我的输入添加一个跨度,这个跨度我从 CodePen 给 class "btn" ...
问题是跨度超过了我的输入,我有动画但无法点击。
<span class="btn"><input type="button"></span>
试试这个,我想这对你有帮助:)
.btn {
position: relative;
display: block;
margin: 30px auto;
padding: 20px;
overflow: hidden;
border-width: 0;
outline: none;
border-radius: 2px;
box-shadow: 0 1px 4px rgba(0, 0, 0, .6);
background-color: #2ecc71;
color: #ecf0f1;
transition: background-color .8s;
text-align: center;
}
.btn:hover,
.btn:focus {
background-color: #27ae60;
}
.btn:before {
content: "";
position: absolute;
top: 50%;
left: 50%;
display: block;
width: 0;
padding-top: 0;
border-radius: 100%;
background-color: rgba(236, 240, 241, .2);
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.btn:active:before {
width: 100%;
padding-top: 100%;
transition: width .1s ease-out, padding-top .1s ease-out;
}
.btn input {
display: none;
}
<label class="btn"><input type="button" />Button</label>