css实现24种输入框focus点击获取焦点线条背景动画效果代码

代码语言:html

所属分类:表单美化

代码描述:css实现24种输入框focus点击获取焦点线条背景动画效果代码

代码标签: 输入 focus 点击 获取 焦点 线条 背景 动画 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<html>
<head>
    <style>
        /*= Reset CSS
============= */
        html, body {
            border: 0;
            margin: 0;
            padding: 0;
        }
        body {
            font: 14px "Lato", Arial, sans-serif;
            min-width: 100%;
            min-height: 100%;
            color: #666;
        }
        .container {
            margin: 0 auto;
            max-width: 1200px;
        }
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        .row {
            float: left;
            width: 100%;
            padding: 20px 0 50px;
        }
        h2 {
            text-align: center;
            color: #2079df;
            font-size: 28px;
            float: left;
            width: 100%;
            margin: 30px 0;
            position: relative;
            line-height: 58px;
            font-weight: 400;
        }
        h2:before {
            content: "";
            position: absolute;
            left: 50%;
            bottom: 0;
            width: 100px;
            height: 2px;
            background-color: #2079df;
            margin-left: -50px;
        }
        /*= Reset CSS End
================= */
        body {
            background-color: #fff;
        }
        /*= input focus effects css
=========================== */
:focus {
            outline: none;
        }

        .col-3 {
            float: left;
            width: 27.33%;
            margin: 40px 3%;
            position: relative;
        }

        /* necessary to give position: relative to parent. */
        input[type="text"] {
            font: 15px/24px "Lato", Arial, sans-serif;
            color: #333;
            width: 100%;
            box-sizing: border-box;
            letter-spacing: 1px;
        }

        .effect-1,
        .effect-2,
        .effect-3 {
            border: 0;
            padding: 7px 0;
            border-bottom: 1px solid #ccc;
        }

        .effect-1 ~ .focus-border {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px;
            background-color: #3399FF;
            transition: 0.4s;
        }
        .effect-1:focus ~ .focus-border {
            width: 100%;
            transition: 0.4s;
        }

        .effect-2 ~ .focus-border {
            position: absolute;
            bottom: 0;
            left: 50%;
            width: 0;
            height: 2px;
            background-color: #3399FF;
            transition: 0.4s;
        }
        .effect-2:focus ~ .focus-border {
            width: 100%;
            transition: 0.4s;
            left: 0;
        }

        .effect-3 ~ .focus-border {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 2px;
            z-index: 99;
        }
        .effect-3 ~ .focus-border:before,
        .effect-3 ~ .focus-border:after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 100%;
            background-color: #3399FF;
            transition: 0.4s;
        }
        .effect-3 ~ .focus-border:after {
            left: auto;
            right: 0;
        }
        .effect-3:focus ~ .focus-border:before,
        .effect-3:focus ~ .focus-border:after {
            width: 50%;
            transition: 0.4s;
        }

        .effect-4,
        .effect-5,
        .effect-6 {
            border: 0;
            padding: 5px 0 7px;
            border: 1px solid transparent;
            border-bottom-color: #ccc;
            transition: 0.4s;
        }

        .effect-4:focus,
        .effect-5:focus,
        .effect-6:focus {
            padding: 5px 14px 7px;
            transition: 0.4s;
        }

        .effect-4 ~ .focus-border {
            position: absolute;
            height: 0;
            bottom: 0;
            left: 0;
            width: 100%;
            transition: 0.4s;
            z-index: -1;
        }
        .effect-4:focus ~ .focus-border {
            transition: 0.4s;
            height: 36px;
            border: 2px solid #3399FF;
            z-index: 1;
        }

        .effect-5 ~ .focus-border {
            position: absolute;
            height: 36px;
            bottom: 0;
            left: 0;
            width: 0;
            transition: 0.4s;
        }
        .effect-5:focus ~ .focus-border {
            width: 100%;
            transition: 0.4s;
            border: 2px solid #3399FF;
        }

        .effect-6 ~ .focus-border {
            position: absolute;
            height: 36px;
            bottom: 0;
            right: 0;
            width: 0;
            transition: 0.4s;
        }
        .effect-6:focus ~ .focus-border {
            width: 100%;
            transition: 0.4s;
            border: 2px solid #3399FF;
        }

        .effect-7,
        .effect-8,
        .effect-9 {
            border: 1px solid #ccc;
            padding: 7px 14px 9px;
            transition: 0.4s;
        }

        .effect-7 ~ .focus-border:before,
        .effect-7 ~ .focus-border:after {
            content: "";
            position: absolute;
            top: 0;
            left: 50%;
            width: 0;
            height: 2px;
            background-color: #3399FF;
            transition: 0.4s;
        }
        .effect-7 ~ .focus-border:after {
            top: auto;
            bottom: 0;
        }
        .effect-7 ~ .focus-border i:before,
        .effect-7 ~ .focus-border i:after {
            content: "";
            position: absolute;
            top: 50%;
            left: 0;
            width: 2px;
            height: 0;
            background-color: #3399FF;
            transition: 0.6s;
        }
        .effect-7 ~ .focus-border i:after {
            left: auto;
            right: 0;
        }
        .effect-7:focus ~ .focus-border:before,
        .effect-7:focus ~ .focus-border:after {
            left: 0;
            width: 100%;
            transition: 0.4s;
        }
        .effect-7:focus ~ .focus-border i:before,
        .effect-7:focus ~ .focus-border i:after {
            top: 0;
            height: 100%;
            transition: 0.6s;
        }

        .effect-8 ~ .focus-border:before,
        .effect-8 ~ .focus-border:after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 0;
            height: 2px;
            background-color: #3399FF;
            transition: 0.3s;
        }
        .effect-8 ~ .focus-border:after {
            top: auto;
            bottom: 0;
            left: auto;
            right: 0;
        }
        .effect-8 ~ .focus-border i:before,
        .effect-8 ~ .focus-border i:after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 2px;
            height: 0;
            background-color: #3399FF;
            transition: 0.4s;
        }
        .effect-8 ~ .focus-border i:after {
            left: auto;
            right: 0;
            top: auto;
            bottom: 0;
        }
        .effect-8:focus ~ .focus-border:before,
        .effect-8:focus ~ .focus-border:after {
            width: 100%;
            transition: 0.3s;
        }
        .effect-8:focus ~ .focus-border i:before,
        .effect-8:focus ~ .focus-border i:after {
            height: 100%;
            transition: 0.4s;
        }

        .effect-9 ~ .focus-border:before,
        .effect-9 ~ .focus-border:after {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            width: 0;
            height: 2px;
            background-color: #3399FF;
            transition: 0.2s;
            transition-delay: 0.2s;
        }
        .effect-9 ~ .focus-border:after {
            top: auto;
            bottom: 0;
            right: auto;
            left: 0;
            transition-delay: 0.6s;
        }
        .effect-9 ~ .focus-border i:before,
        .effect-9 ~ .focus-border i:after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 2px;
            height: 0;
            background-color: #3399FF;
            transition: 0.2s;
        }
        .effect-9 ~ .focus-border i:after {
            left: auto;
            right: 0;
            top: auto;
            bottom: 0;
            transition-delay: 0.4s;
        }
        .effect-9:focus ~ .focus-border:before,
        .effect-9:focus ~ .focus-border:after {
            width: 100%;
            transition: 0.2s;
            transition-delay: 0.6s;
        }
        .effect-9:focus ~ .focus-border:after {
            transition-delay: 0.2s;
        }
        .effect-9:focus ~ .focus-border i:before,
        .effect-9:focus ~ .focus-border i:after {
            height: 100%;
            transition: 0.2s;
        }
        .effect-9:focus ~ .focus-border i:after {
            transition-delay: 0.4s;
        }

        .effect-10,
        .effect-11,
        .effect-12,
        .effect-13,
        .effect-14,
        .effect-15 {
            border: 0;
            padding: 7px 15px;
            border: 1px solid #ccc;
            position: relative;
            background: transparent;
        }

        .effect-10 ~ .focus-bg {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: #ededed;
            opacity: 0;
            transition: 0.5s;
            z-index: -1;
        }
        .effect-10:focus ~ .focus-bg {
            transition: 0.5s;
            opacity: 1;
        }

        .effect-11 ~ .focus-bg {
            position: absolute;
            left: 0;
            top: 0;
            width: 0;
            height: 100%;
            background-color: #ededed;
            transition: 0.3s;
            z-index: -1;
        }
        .effect-11:focus ~ .focus-bg {
            transition: 0.3s;
            width: 100%;
        }

        .effect-12 ~ .focus-bg {
            position: absolute;
            left: 50%;
            top: 0;
            width: 0;
            height: 100%;
            background-color: #ededed;
            transition: 0.3s;
            z-index: -1;
        }
        .effect-12:focus ~ .focus-bg {
            transition: 0.3s;
            width: 100%;
            left: 0;
        }

        .effect-13 ~ .focus-bg:before,
        .effect-13 ~ .focus-bg:after {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            width: 0;
            height: 100%;
            background-color: #ededed;
            transition: 0.3s;
            z-index: -1;
        }
        .effect-13:focus ~ .focus-bg:before {
            transition: 0.3s;
            width: 50%;
        }
        .effect-13 ~ .focus-bg:after {
            left: auto;
            right: 0;
        }
        .effect-13:focus ~ .focus-bg:after {
            transition: 0.3s;
            width: 50%;
        }

        .effect-14 ~ .focus-bg:before,
        .effect-14 ~ .focus-bg:after {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            width: 0;
            height: 0;
            background-color: #ededed;
            transition: 0.3s;
            z-index: -1;
        }
        .effect-14:focus ~ .focus-bg:before {
            transition: 0.3s;
            width: 50%;
            height: 100%;
        }
        .effect-14 ~ .focus-bg:after {
            left: auto;
            right: 0;
            top: auto;
            bottom: 0;
        }
        .effect-14:focus ~ .focus-bg:after {
            transition: 0.3s;
            width: 50%;
            height: 100%;
        }

        .effect-15 ~ .focus-bg:before,
        .effect-15 ~ .focus-bg:after {
            content: "";
            position: absolute;
            left: 50%;
            top: 50%;
            width: 0;
            height: 0;
            background-color: #ededed;
            transition: 0.3s;
            z-index: -1;
        }
        .effect-15:focus ~ .focus-bg:before {
            transition: 0.3s;
            width: 50%;
            left: 0;
            top: 0;
            height: 100%;
        }
        .effect-15 ~ .focus-bg:after {
            left: auto;
            right: 50%;
            top: auto;
            bottom: 50%;
        }
        .effect-15:focus ~ .focus-bg:after {
            transition: 0.3s;
            width: 50%;
            height: 100%;
            bottom: 0;
            right: 0;
        }


        .effect-16,
        .effect-17,
        .effect-18 {
            border: 0;
            padding: 4px 0;
            border-bottom: 1px solid #ccc;
            background-color: transparent;
        }

        .effect-16 ~ .focus-border {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px;
            background-color: #3399FF;
            transition: 0.4s;
        }
        .effect-16:focus ~ .focus-border,
        .has-content.effect-16 ~ .focus-border {
            width: 100%;
            transition: 0.4s;
        }
        .effect-16 ~ label {
            position: absolute;
            left: 0;
            width: 100%;
            top: 9px;
            color: #aaa;
            transition: 0.3s;
            z-index: -1;
            letter-spacing: 0.5px;
        }
        .effect-16:focus ~ label, .has-content.effect-16 ~ label {
            top: -16px;
            font-size: 12px;
            color: #3399FF;
            transition: 0.3s;
        }

        .effect-17 ~ .focus-border {
            position: absolute;
            bottom: 0;
            left: 50%;
            width: 0;
            height: 2px;
            background-color: #3399FF;
            transition: 0.4s;
        }
        .effect-17:focus ~ .focus-border,
        .has-content.effect-17 ~ .focus-border {
            width: 100%;
            transition: 0.4s;
            left: 0;
        }
        .effect-17 ~ label {
            position: absolute;
            left: 0;
            width: 100%;
            top: 9px;
            color: #aaa;
            transition: 0.3s;
            z-index: -1;
            letter-spacing: 0.5px;
        }
        .effect-17:focus ~ label, .has-content.effect-17 ~ label {
            top: -16px;
            font-size: 12px;
            color: #3399FF;
            transition: 0.3s;
        }

        .effect-18 ~ .focus-border {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 2px;
            z-index: 99;
        }
        .effect-18 ~ .focus-border:before,
        .effect-18 ~ .focus-border:after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 100%;
            background-color: #3399FF;
            transition: 0.4s;
        }
        .effect-18 ~ .focus-border:after {
            left: auto;
            right: 0;
        }
        .effect-18:focus ~ .focus-border:before,
        .effect-18:focus ~ .focus-border:after,
        .has-content.effect-18 ~ .focus-border:before,
        .has-content.effect-18 ~ .focus-border:after {
            width: 50%;
            transition: 0.4s;
        }
        .effect-18 ~ label {
            position: absolute;
            left: 0;
            width: 100%;
            top: 9px;
            color: #aaa;
            transition: 0.3s;
            z-index: -1;
            letter-spacing: 0.5px;
        }
        .effect-18:focus ~ label, .has-content.effect-18 ~ label {
            top: -16px;
            font-size: 12px;
            color: #3399FF;
            transition: 0.3s;
        }

        .effect-19,
        .effect-20,
        .effect-21 {
            border: 1px solid #ccc;
            padding: 7px 14px;
            transition: 0.4s;
            background: transparent;
        }

        .effect-19 ~ .focus-border:before,
        .effect-19 ~ .focus-border:after {
            content: "";
            position: absolute;
            top: -1px;
            left: 50%;
            width: 0;
            height: 2px;
            background-color: #3399FF;
            transition: 0.4s;
        }
        .effect-19 ~ .focus-border:after {
            top: auto;
            bottom: 0;
        }
        .effect-19 ~ .focus-border i:before,
        .effect-19 ~ .focus-border i:after {
            content: "";
            position: absolute;
            top: 50%;
            left: 0;
            width: 2px;
            height: 0;
            background-color: #3399FF;
            transition: 0.6s;
        }
        .effect-19 ~ .focus-border i:after {
            left: auto;
            right: 0;
        }
        .effect-19:focus ~ .focus-border:before,
        .effect-19:focus ~ .focus-border:after,
        .has-content.effect-19 ~ .focus-border:before,
   .........完整代码请登录后点击上方下载按钮下载查看

网友评论0