ドロップダウン選択ボックスに代わる純粋な CSS select_html/css_WEB-ITnose
这篇教程中,我将给大家展示表单元素下拉选择框select的CSS替代方案。该方法采用css来实现,看上去非常简单。我们用radio标签列表来模拟下拉列表,选择一个radio可以很好的模拟出select中选择一个元素的效果。
一:HTML
下面是我们在form表单里面用到的html代码:
.代码
II: ロジック スケッチ
説明をより直感的にするために、次のスケッチを描いてみました。明確であることを願っています。フロントエンド UI の共有
3: CSS コード
チュートリアルをより簡潔に見せるために、視覚効果のための CSS コードの一部 (矢印を描画するための CSS など) を省略しました。添付ファイルのバージョン コードで全文を確認してください。同じ理由で、さまざまなブラウザに固有のプレフィックスも省略します。
radio-container css:
.Code
- radio-container {
- 位置: 相対
- 高さ: 4em (内部コンテナの最大高さ) + 1えっと("margin") */
- }
- .radio-container:hover {
- z-index: 9999; }
radio-container css に含まれる要素: フロントエンド UI 共有
.code
.radio-options {- 位置: 絶対;
- 幅: 100%;
- 遷移: 0.7 秒;
- コード
- .radio-options .toggle {
- 位置: 相対 ;
- パディング: 0.75em;
- ボーダー半径: 10px;
- Zインデックス: 1 ; }
- * li は .toggle と同じ位置にスタックされ、 .toggle のみが表示されます */
位置: 絶対;
左: 0;
幅: 10 0%;
高さ: 100%;
.radio-options ラベル {
- 不透明度: 0;
- 遷移: 0;
- 入力を非表示にするために、display: none を使用して目的を達成できますが、この方法では、一部のブラウザー (一部のモバイル ブラウザーなど) でラベルをクリックしても、関連する入力に焦点が当てられません。フロントエンド UI 共有
- .code
- .radio-options input {
- 位置: 絶対;
- 左: 0;
- 幅: 300px;
- 高さ: 3em ;
- 不透明度: 0;
- z-index:1;
- カーソル: ポインタ;
- Four: マウスを上に移動するための CSS コード 上記のコードに従って、次のようにしてみましょうもっと詳しく見る .radio-container の z-index は非常に大きな値であり、.radio-options の max-height 属性も大きくなっています (100em) 続けましょう:
- コード
-
- /* li 要素には、.radio-options コンテナ内で通常のフローがあります */
- .radio-options:hover li {
- position: relative; }
- .radio-options:hover label {
- opacity: 1;
- トランジション: 0.5 秒。 }
五:选中状態态
チェックされたオプションをスタイルするには、一般的な兄弟セレクターを使用します。チルダ文字コンビネータ (E ~ F) を使用し、特定の要素の兄弟である要素と一致します。最初の要素 (E) は 2 番目の要素 (F) より前に出現する必要があり、同じ親 (この場合は li 項目) を共有する必要があります。トグルの代わりにそのラベル:
- position: absolute;
- トップ: 0;
- 左: 0;
- 右: 0;
- 不透明度: 1;
- /* は .toggle の上にあるので表示されます */
- z-index: 2;
- /* .toggle */
- padding: 0.75em; と同じスタイルがあります。
- 背景: ダークグリーン;
- ボーダー半径: 10px; }
位置: 静的;
- 六:移動装置上に必要な修正
解決策の 1 つは、私たちは最初に独自の modernizr ビルドを使用してデバイスを検出し、次のようなスクリプトを追加しました:
.代コード
- $(document).ready(function(){
- if (Modernizr.touch) {
- $(".radio-options").bind("click", function(event) {
- if (! ($(this).parent('.radio-container').hasClass("active")) {
- $(this).parent('.radio-container').addClass("active");
- even.stopPropagation();
- });
- $(".toggle").bind("click", function(){
- $(this).parents('.radio-container' ).removeClass("active"); return false;
- }); })
- 在css中我如下修改每一个:hover的定义: フロントエンドUI分享
z-index: 9999; }
- max-height: 100em;
- }
- .no-touch .radio-options:hover li, .active .radio-options li {
- 位置: 相対; }
- .no-touch .radio-options:hover label, .active .radio-options label {
- opacity: 1;
- トランジション: 0.5 秒。 }
- ....
- 七:IE8下でどのように処理するか
.代码
<スクリプト>
- $(".radio-options li").bind("click", function() {
- $(this).siblings(".checked") .removeClass("checked");
- $(this).addClass("checked"); });
- CSS
-
.code
- 上: 0;
- 右: 0; パディング: 0.75em;背景: #1b9e4d;
- 可視性: 可視;
- z-index: 2; }
- ....
- チュートリアルは終わりました、お役に立てば幸いです、ありがとう。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

ブートストラップスプリットラインを作成するには2つの方法があります。タグを使用して、水平方向のスプリットラインを作成します。 CSS Borderプロパティを使用して、カスタムスタイルのスプリットラインを作成します。

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

ブートストラップボタンの使用方法は?ブートストラップCSSを導入してボタン要素を作成し、ブートストラップボタンクラスを追加してボタンテキストを追加します

Bootstrapフレームワークをセットアップするには、次の手順に従う必要があります。1。CDNを介してブートストラップファイルを参照してください。 2。独自のサーバーでファイルをダウンロードしてホストします。 3。HTMLにブートストラップファイルを含めます。 4.必要に応じてSASS/LESSをコンパイルします。 5。カスタムファイルをインポートします(オプション)。セットアップが完了したら、Bootstrapのグリッドシステム、コンポーネント、スタイルを使用して、レスポンシブWebサイトとアプリケーションを作成できます。

ブートストラップに画像を挿入する方法はいくつかあります。HTMLIMGタグを使用して、画像を直接挿入します。ブートストラップ画像コンポーネントを使用すると、レスポンシブ画像とより多くのスタイルを提供できます。画像サイズを設定し、IMG-Fluidクラスを使用して画像を適応可能にします。 IMGボーダークラスを使用して、境界線を設定します。丸い角を設定し、IMGラウンドクラスを使用します。影を設定し、影のクラスを使用します。 CSSスタイルを使用して、画像をサイズ変更して配置します。背景画像を使用して、背景イメージCSSプロパティを使用します。
