一个使用:focus-within伪类实现的button选中动画效果

简介: 一个使用:focus-within伪类实现的button选中动画效果

源代码:

</div><div>.g-container {</div><div>  width: 300px;</div><div>  margin: 50px auto;  </div><div>}</div><div> </div><div>.g-container p {</div><div>    line-height: 1.4;</div><div>    padding-left: 40px;  </div><div>}</div><div>  .g-container input {</div><div>    position: absolute;</div><div>    border: none;</div><div>    outline: none;</div><div>    background: none;</div><div>    width: 20px;</div><div>    height: 20px;</div><div>    border-radius: 50%;</div><div>    border: 1px solid #aaa;</div><div>    box-sizing: border-box;</div><div>    top: 50%;</div><div>    left: 10px;</div><div>    transform: translate(0, -50%);</div><div>    cursor: pointer; }</div><div>  .g-container .g-section {</div><div>    position: relative;</div><div>    padding: 10px;</div><div>    box-sizing: border-box;</div><div>    border: 1px solid transparent; }</div><div>   </div><div>    .g-container .g-section:focus-within {</div><div>      background: linear-gradient(90deg, #03a9f4 50%, transparent 0) repeat-x, linear-gradient(90deg, #03a9f4 50%, transparent 0) repeat-x, linear-gradient(0deg, #03a9f4 50%, transparent 0) repeat-y, linear-gradient(0deg, #03a9f4 50%, transparent 0) repeat-y;</div><div>      background-size: 8px 1px, 8px 1px, 1px 8px, 1px 8px;</div><div>      background-position: 0 0, 0 100%, 0 0, 100% 0;</div><div>      animation: linearGradientMove .5s infinite linear; }</div><div>      .g-container .g-section:focus-within input {</div><div>        background: #03a9f4; }</div><div>@keyframes linearGradientMove {</div><div>  100% {</div><div>    background-position: 6% 0, -6% 100%, 0 -6%, 100% 6%; } }</div><div>

 

     

     

           :focus-within 是一个CSS 伪类 ,表示一个元素获得焦点,或,该元素的后代元素获得焦点。换句话说,元素自身或者它的某个后代匹配:focus伪类。

     

 

 

     

     

           :focus-within 是一个CSS 伪类 ,表示一个元素获得焦点,或,该元素的后代元素获得焦点。换句话说,元素自身或者它的某个后代匹配:focus伪类。

     

 

 

     

     

           :focus-within 是一个CSS 伪类 ,表示一个元素获得焦点,或,该元素的后代元素获得焦点。换句话说,元素自身或者它的某个后代匹配:focus伪类。

     

 

运行时的动态效果:

image.png


相关文章
|
10天前
|
移动开发 小程序 JavaScript
uView Slider 滑动选择器
uView Slider 滑动选择器
24 0
|
4月前
|
XML 前端开发 小程序
css实例(一)鼠标hover下拉菜单
红框标注位置,有一个小尖尖角,这个使用样式是这样实现的。 css 复制代码
53 0
|
7月前
element-ui框架的el-dialog弹出框被遮罩层挡住了/el-drawer....会生成v-model元素的组件被遮罩层挡住
element-ui框架的el-dialog弹出框被遮罩层挡住了/el-drawer....会生成v-model元素的组件被遮罩层挡住
|
8月前
element-ui框架的el-dialog弹出框被遮罩层遮挡问题
element-ui框架的el-dialog弹出框被遮罩层遮挡问题
220 0
element-ui框架的el-dialog弹出框被遮罩层挡住了
element-ui框架的el-dialog弹出框被遮罩层挡住了
294 0
element-ui框架的el-dialog弹出框被遮罩层挡住了
|
前端开发
前端取消input获取焦点时的边框
前端取消input获取焦点时的边框
106 0
|
前端开发 JavaScript 程序员
基于H5+css+JavaScript实现button悬停时边框滑动
基于H5+css+JavaScript实现button悬停时边框滑动
127 0
基于H5+css+JavaScript实现button悬停时边框滑动
|
JavaScript 前端开发
【JavaScript】一个按钮控制显示隐藏(toggle)
【JavaScript】一个按钮控制显示隐藏(toggle)
98 0
【JavaScript】一个按钮控制显示隐藏(toggle)
|
JavaScript
使用:focus-within实现下拉菜单效果
使用:focus-within实现下拉菜单效果
215 0
使用:focus-within实现下拉菜单效果