イセンチュートリアルサイト
  • CSS
    • スクロールダウン
    • テキストナビゲーション
    • ボタン
    • メニュー
    • 動画
    • 検索
    • 画像リンクの動き
    • 背景の動き
  • Illustrator
  • JS
    • アコーディオンパネル
    • アニメーション
    • エリアの動き
    • ギャラリー
    • グラフ
    • スライド
    • テキストの動き
    • ニュースティッカー
    • ページトップリンク
    • ページ内リンク
    • メニュー
    • モーダルウィンドウ
    • ローディング
  • Photoshop
  • PHP
  • WordPress
    • プラグイン
    • リンク
  • お客様観覧用
    • WEB制作プラン
    • アニメーション
    • グローバルナビゲーション
    • スライド
  • サーバー
    • CPI
  • 未分類
  • 法律
    • 医療法
    • 柔道整復師法
TOP CSS 検索 虫眼鏡マークをクリックすると、下からふわっと検索窓が出現

CSS

虫眼鏡マークをクリックすると、下からふわっと検索窓が出現

  • カテゴリー:検索


     

    HTMLの書き方

    head終了タグ直前に自作のCSSを読み込みます。

    <link rel="stylesheet" type="text/css" href="css/7-2-3.css">

    body内の検索窓を表示させたい場所にHTMLを記載します。

    <div class="open-btn"></div><!--開閉ボタン-->
    
    <div id="search-wrap"><!--表示エリアのHTML開閉ボタンをクリックするたび、search-wrap に表示用のクラス名が付与・除去されて付与の場合出現します。-->
    	<form role="search" method="get" id="searchform" action="">
    		<input type="text" value="" name="" id="search-text" placeholder="search">
    		<input type="submit" id="searchsubmit" value="">
    	</form>
    <!--/search-wrap--></div>

    body 終了タグ直前に jQuery、動きを制御する自作のJS の2つを読み込みます。

    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
    <!--自作のJS-->
    <script src="js/7-2-3.js"></script>

     

    CSSの書き方

    /*========= 検索窓を開くためのボタン設定 ===========*/
    
    .open-btn{
    	position: absolute;
    	top:10px;
    	right:10px;
    	background:url("../img/icon_search.svg") no-repeat 15px center;/*虫眼鏡アイコンを背景に表示*/
    	background-size: 20px 20px;
    	width:50px;
    	height:50px;
    	cursor: pointer;/*カーソルを指マークに*/
    }
    
    /*クリック後、JSでボタンに btnactive クラスが付与された後の見た目*/
    .open-btn.btnactive{
    	background:url("../img/icon_close.svg") no-repeat 15px center;/*閉じるアイコンを背景に表示*/
    	background-size: 18px 18px;
    }
    
    
    /*========= 検索窓の設定 ===============*/
    
    /*==検索窓背景のエリア*/
    #search-wrap{
    	position:absolute;/*絶対配置にして*/
    	top:150px;
    	right:20px;
    	z-index: -1;/*最背面に設定*/
    	opacity: 0;/*透過を0に*/
    	width:0;/*横幅は0に*/
    	transition: all 0.4s;/*transitionを使ってスムースに現れる*/
    	border-radius: 5px;
    }
    
    /*ボタンクリック後、JSで#search-wrapに panelactive クラスが付与された後の見た目*/
    #search-wrap.panelactive{
    	opacity: 1;/*不透明に変更*/
    	z-index: 3;/*全面に出現*/
    	width:280px;
    	padding:20px;
    	top:60px;
    	background:#fff;
    }
    
    /*==検索窓*/
    #search-wrap #searchform{
    	display: none;/*検索窓は、はじめ非表示*/
    }
    
    /*ボタンクリック後、JSで#search-wrapに panelactive クラスが付与された後*/
    #search-wrap.panelactive #searchform{
    	display: block;/*検索窓を表示*/
    }
    
    /*==検索フォームの設定*/
    
    /*==テキスト入力とボタンinput共通設定*/
    #search-wrap input{
    	-webkit-appearance:none;/*SafariやChromeのデフォルトの設定を無効*/
    	outline: none;
    	cursor: pointer;/*カーソルを指マークに*/
    	color: #666;
    }
    
    /*テキスト入力input設定*/
    #search-wrap input[type="text"] {
    	width: 100%;
    	border: none;
    	border-bottom:2px solid #ccc;
    	transition: all 0.5s;
    	letter-spacing: 0.05em;
    	height:46px;
    	padding: 10px;
    }
    
    /*テキスト入力inputにフォーカスされたら*/
    #search-wrap input[type="text"]:focus {
    	background:#eee;/*背景色を付ける*/
    }
    
    /*ボタンinput設定*/
    #search-wrap input[type="submit"] {
    	position: absolute;
    	top:10px;
    	right:30px;
    	background:url("../img/icon_search.svg") no-repeat right;/*虫眼鏡アイコンを背景に表示*/
    	background-size: 20px 20px;
    	width:30px;
    	height: 60px;
    }
    

     

    JSの書き方

    //開閉ボタンを押した時には
    $(".open-btn").click(function () {
    	$(this).toggleClass('btnactive');//.open-btnは、クリックごとにbtnactiveクラスを付与&除去。1回目のクリック時は付与
    	$("#search-wrap").toggleClass('panelactive');//#search-wrapへpanelactiveクラスを付与
    	$('#search-text').focus();//テキスト入力のinputにフォーカス
    });
    投稿日:2022年07月28日
前のページ

アーカイブ

  • CSS (117)
    • スクロールダウン (8)
    • テキストナビゲーション (11)
    • ボタン (52)
    • メニュー (1)
    • 動画 (2)
    • 検索 (3)
    • 画像リンクの動き (23)
    • 背景の動き (17)
  • Illustrator (8)
  • JS (93)
    • アコーディオンパネル (2)
    • アニメーション (1)
    • エリアの動き (7)
    • ギャラリー (6)
    • グラフ (7)
    • スライド (9)
    • テキストの動き (17)
    • ニュースティッカー (1)
    • ページトップリンク (9)
    • ページ内リンク (2)
    • メニュー (28)
    • モーダルウィンドウ (1)
    • ローディング (3)
  • Photoshop (1)
  • PHP (20)
  • WordPress (4)
    • プラグイン (2)
    • リンク (1)
  • お客様観覧用 (11)
    • WEB制作プラン (1)
    • アニメーション (8)
    • グローバルナビゲーション (1)
    • スライド (1)
  • サーバー (6)
    • CPI (1)
  • 未分類 (6)
  • 法律 (2)
    • 医療法 (1)
    • 柔道整復師法 (1)
TOP
  • CSS
    • スクロールダウン
    • テキストナビゲーション
    • ボタン
    • メニュー
    • 動画
    • 検索
    • 画像リンクの動き
    • 背景の動き
  • Illustrator
  • JS
    • アコーディオンパネル
    • アニメーション
    • エリアの動き
    • ギャラリー
    • グラフ
    • スライド
    • テキストの動き
    • ニュースティッカー
    • ページトップリンク
    • ページ内リンク
    • メニュー
    • モーダルウィンドウ
    • ローディング
  • Photoshop
  • PHP
  • WordPress
    • プラグイン
    • リンク
  • お客様観覧用
    • WEB制作プラン
    • アニメーション
    • グローバルナビゲーション
    • スライド
  • サーバー
    • CPI
  • 未分類
  • 法律
    • 医療法
    • 柔道整復師法
© 2022 isen-print.