0

ボタンがホバーされているときに、新しい入力フィールドを上にスライドさせて、ボタンの後ろから来たように見せたいです。

まず、これを CSS のみで作成しようとしていました。したがって、 を使用して、囲まれたフォームの高さを操作しようとしましたoverflow: hidden。しかし、そうすると、入力フィールドではなくボタンがフェードアウトします。これを変更する方法はありますか?特定のブラウザのようなものですか?それだけです。

jQuery を使ってみましたが、慣れていません。正しく機能させるためのアイデアが得られたことを本当に願っています。

変更する必要がある値はmargin : 0 auto -3pxto0 auto -31px

これが私の例です

4

2 に答える 2

2

これは、周囲の div を作成する場合、javascript なしで実行できます。

「some」のクラスでdivを作成しました(創造性が不足しています)。次に、ホバーすると、入力フィールドが表示されます。

CSS:

.some {
    display: inline-block;
}

.some:hover .l-input {
    margin: 0 auto -3px; 
}

.l-button {
    text-transform: uppercase;
margin: 0 auto;
display: block;
width: 7em;
position: relative;
    cursor: pointer;
 }

.l-input {
margin: 0 auto -31px;
text-align: center;
text-transform: uppercase;
width: 5.9em;
position: relative;
height: 1.25em;
    display: block;
 }

フィドル: http://jsfiddle.net/c3Veu/

編集:

これをチェックしてください:http://jsfiddle.net/sbNym/

代わりに絶対位置を使用したため、入力フィールドが後ろからポップアップします。(:

于 2013-10-27T14:08:42.713 に答える
0

これを試してくださいHTML

    <div id="container">
        <input type="text" name="bewerbung" class="l-input">
        <button type="button" value="BSend" class="l-button">code</button>
    </div>

そしてこれScript

        $(document).ready(function () {

            $('.l-button').mouseover(function () {
                $('.l-input').animate({ bottom: '40px' });
            });
            $('.l-input').mouseleave(function () {
                $('.l-input').animate({ bottom: '6px' });
            });
        });

そしてこれCSS

        body {
            padding: 5em;
        }

        /*NEW*/
        #container {
            position: relative;
            width: 90px;
        }
        /*NEW*/

        input {
            background: transparent;
            border: 1px solid rgba(155,86,77,0.2);
            border-width: 0 0 1px;
            -webkit-border-radius: 3px;
            -moz-border-radius: 3px;
            -o-border-radius: 3px;
            border-radius: 3px;
            padding: 5px;
            background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%,rgba(255,255,255,0.1) 100%);
            background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.1)), color-stop(100%,rgba(255,255,255,0.1)));
            background: -o-linear-gradient(top, rgba(0,0,0,0.1) 0%,rgba(255,255,255,0.1) 100%);
            background: -ms-linear-gradient(top, rgba(0,0,0,0.1) 0%,rgba(255,255,255,0.1) 100%);
            background: -moz-linear-gradient(top, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0.1) 100%);
            background: -webkit-linear-gradient(top, rgba(0,0,0,0.1) 0%,rgba(255,255,255,0.1) 100%);
            filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1a000000', endColorstr='#1affffff',GradientType=0 );
            -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2) inset, -1px -1px 1px rgba(255,255,255,0.2) inset, -1px 0px 1px rgba(0, 0, 0, 0.2) inset, 0 3px 0 rgba(155,86,77,0.8);
            -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2) inset, -1px -1px 1px rgba(255,255,255,0.2) inset, -1px 0px 1px rgba(0, 0, 0, 0.2) inset, 0 3px 0 rgba(155,86,77,0.8);
            -ms-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2) inset, -1px -1px 1px rgba(255,255,255,0.2) inset, -1px 0px 1px rgba(0, 0, 0, 0.2) inset, 0 3px 0 rgba(155,86,77,0.8);
            -o-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2) inset, -1px -1px 1px rgba(255,255,255,0.2) inset, -1px 0px 1px rgba(0, 0, 0, 0.2) inset, 0 3px 0 rgba(155,86,77,0.8);
            box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2) inset, -1px -1px 1px rgba(255,255,255,0.2) inset, -1px 0px 1px rgba(0, 0, 0, 0.2) inset, 0 3px 0 rgba(155,86,77,0.8);
            font-family: Raleway;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            outline: none;
            -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
            -webkit-tap-highlight-color: transparent;
            -webkit-tap-highlight: none;
            -webkit-focus-ring-color: rgba(0, 0, 0, 0);
            -webkit-focus-ring-color: transparent;
            -webkit-focus-ring-color: none;
        }

        .l-input:active, .l-input:focus {
            -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2) inset, -1px -1px 1px rgba(255,255,255,0.2) inset, -1px 0px 1px rgba(0, 0, 0, 0.2) inset, 0 0 1px 4px rgba(105,157,182,0.3), 0 4px 0 rgba(155,86,77,0.8);
            -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2) inset, -1px -1px 1px rgba(255,255,255,0.2) inset, -1px 0px 1px rgba(0, 0, 0, 0.2) inset, 0 0 1px 4px rgba(105,157,182,0.3), 0 4px 0 rgba(155,86,77,0.8);
            -ms-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2) inset, -1px -1px 1px rgba(255,255,255,0.2) inset, -1px 0px 1px rgba(0, 0, 0, 0.2) inset, 0 0 1px 4px rgba(105,157,182,0.3), 0 4px 0 rgba(155,86,77,0.8);
            -o-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2) inset, -1px -1px 1px rgba(255,255,255,0.2) inset, -1px 0px 1px rgba(0, 0, 0, 0.2) inset, 0 0 1px 4px rgba(105,157,182,0.3), 0 4px 0 rgba(155,86,77,0.8);
            box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2) inset, -1px -1px 1px rgba(255,255,255,0.2) inset, -1px 0px 1px rgba(0, 0, 0, 0.2) inset, 0 0 1px 4px rgba(105,157,182,0.3), 0 4px 0 rgba(155,86,77,0.8);
        }

        button {
            display: inline-block;
            color: #FFF;
            background: #699DB6;
            padding: 7px 20px;
            border-radius: 5px;
            border: 1px solid rgba(0,0,0,0.3);
            border-bottom-width: 3px;
        }

        .l-button {
            text-transform: uppercase;
            margin: 0 auto;
            display: block;
            width: 7em;
            position: relative;
            cursor: pointer;
        }

        .l-input {
            margin: 0 auto -3px;
            text-align: center;
            text-transform: uppercase;
            width: 5.9em;
            position: absolute;            /*NEW*/
            bottom: 6px;            /*NEW*/
            height: 1.25em;
            display: block;
        }
于 2013-10-27T14:02:04.537 に答える