前提・実現したいこと
Airbnb(LP)の模写をBootstrapを使わずにcss/jQueryで取り組んでいます。
https://ja.airbnb.com/gift
Airbnb(LP)のナビゲーションバーに設置されている検索窓と同じように実装したいです。
1文字入力後も虫眼鏡マークの継続表示
2文字入力後に虫眼鏡マークをクリックすると検索される
3枠内テキスト「探す」と虫眼鏡マークの色をそれぞれ違う色にする
発生している問題・エラーメッセージ
上記1〜3の同時実装が上手く出来ない
下記のコードで見た目は整いました
該当のソースコード
HTML
1headタグ内 <link href="https://use.fontawesome.com/releases/v5.8.2/css/all.css" rel="stylesheet"> 2 3<body> 4 <header> 5 <div id="header-left" class="clearfix"> 6 <i class="fab fa-airbnb"></i> 7 <div id="header-search"> 8 <form action="#" method="post"> 9 <!-- <input class="input-icon" type="submit" value="" class="fas"> --> 10 <button type="submit" id="ibtn"><i class="fas fa-search"></i> </button> 11 <input id="input-icon" type="search" name="search" placeholder="探す" autocomplete="off"> 12 <!-- <i class="fas fa-search"></i> --> 13 </form> 14 </div> 15 </div> 16 <div id="header-list" class="clearfix"> 17 <ul id="list" class="clearfix" > 18 <li><a href="#">ホストをはじめる</a></li> 19 <li><a href="#">ヘルプ</a></li> 20 <li><a href="#">登録する</a></li> 21 <li><a href="#">ログイン</a></li> 22 </ul> 23 </div> 24 </header> 25
css
1 #input-icon::placeholder{ 2 text-indent: 40px; 3 } 4 5 #ibtn{ 6 position: absolute; 7 left: 10px; 8 top: 50%; 9 -ms-transform: translate(0%,-50%); 10 -webkit-transform: translate(0%,-50%); 11 transform: translate(0%,-50%); 12 background: none; 13 color:#484848; 14 border: none; 15 font-size: 20px; 16 17 } 18・結果、文字入力時に文字と虫眼鏡マークが被ってしまった。 19
その他試したこと
・placeholder="探す"→placeholderなので文字入力をすると虫眼鏡マークも消えてしまう
・アイコン用に<input>を別で作成+positionを使う
・background-imageでアイコンを表示→ただのイメージなので検索マークをクリックしても検索されない
などを試してみましたが、1〜3をすべて同時に実現する事が出来ず全く見当違いな結果になってしまいました。
補足情報(FW/ツールのバージョンなど)
macOS Mojave バージョン10.14.5
google chrome
バージョン: 74.0.3729.157(Official Build) (64 ビット)
お世話になっているブログにbootstrapは修正が必要になった時に初心者では面倒なので使わない方がいいと書いてあったため、今回はBootstrapを使わない方法で模写に取り組んでいますが、このようなレイアウトの場合に最適な方法もあれば教えていただけると助かります。
回答2件
あなたの回答
tips
プレビュー