1、循序渐进
<style> /* 基础样式(删除) */ body, html { padding: 0; margin: 0; height: 100vh; width: 100vw; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; } .dxd_wdh { width: 300px; height: 300px; background-color: rgb(43, 193, 219); position: relative; } /* 基础样式(删除) */ :root { --color: rgb(118, 120, 223); } .dxd_wdh:before, .dxd_wdh:after { content: ""; display: block; width: 0; height: 0; border: 3px solid transparent; box-sizing: border-box; position: absolute; } .dxd_wdh:before { top: 0; left: 0; transition: border-color 0s ease-in 0.8s, width 0.2s ease-in 0.6s, height 0.2s ease-in 0.4s; } .dxd_wdh:after { right: 0; bottom: 0; transition: border-color 0s ease-in 0.4s, width 0.2s ease-in 0.2s, height 0.2s ease-in; } .dxd_wdh:hover:before { width: 100%; height: 100%; transition: width 0.2s ease-in, height 0.2s ease-in 0.2s; border-top-color: var(--color); border-right-color: var(--color); } .dxd_wdh:hover:after { width: 100%; height: 100%; transition: border-color 0s ease-in 0.4s, width 0.2s ease-in 0.4s, height 0.3s ease-in 0.6s; border-bottom-color: var(--color); border-left-color: var(--color); } </style>
<div class="dxd_wdh"></div>