親と同じサイズをDIV焦点が合ったときに未使用のセンタースペースを占める右側にあります。私は作業を得ることができる解決策は、それが空きスペースの残りの部分を埋めるために取得するには、検索のdiv要素にwidth: inherit
とoverflow: hidden
を追加しました。問題は、検索結果が検索入力の下に同じ幅で表示されることです。私が最初に考えオルタナティブ:隠されたdiv要素を伸ばすために、ギャップを埋め、子供たちを保つためには、入力されたdiv要素を検索し、「ストレッチ」と私は(右に左のロゴ、メニュー)を標準ヘッダのレイアウトを持っている
は、検索のdivの外の結果を配置することでしたが、その後、私は、検索入力のdivの同じ幅と位置を一致させるために、検索結果のdivを得ることができるのか分かりません。
$(function(){
\t
\t $('.field').focus(function(){
\t \t $('.search').addClass('focused');
\t \t $('.search-results').show();
\t });
\t $('.field').blur(function(){
\t \t $('.search').removeClass('focused');
\t \t $('.search-results').hide();
\t });
\t
});
*, *:before, *:after {
box-sizing: border-box;
}
header, section {
max-width: 72em;
margin: 0 auto;
}
section {
clear: both;
padding: 25px 0;
background: #f8f8f8;
}
.logo, .menu {
float: left;
width: 75px;
height: 75px;
background: #ddd;
}
.menu {
width: 250px;
float: right;
}
.search {
position: relative;
float: right;
height: 75px;
line-height: 75px;
background: #eee;
width: 250px;
/*
* Overflow: hidden is the root of one problem and a
* solution to another filling the extra space.
*/
overflow: hidden;
}
.search .field {
width: 100%;
border: 1px solid #ccc;
}
.search.focused {
width: auto;
float: none;
}
.search-results {
display: none;
position: absolute;
left: 0;
right: 0;
top: 100%;
background: salmon;
height: 200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<header>
\t <div class="logo">Dynamic Width</div>
\t <div class="menu">Dynamic Width</div>
\t <div class="search">
\t \t <form>
\t \t \t <input type="text" class="field" placeholder="Search">
\t \t </form>
\t \t <div class="search-results"></div>
\t </div>
</header>
<section>
\t <p>This content should not be moved.</p>
</section>
私はコンテンツがオーバーフローの外に出ないこともよく知っています:隠れた境界。問題は、オーバーフローをエミュレートする方法です:隠されたスペースを取るために隠され、子divsが前記エリア内に収まるようにする方法です。どのように私がこれを達成するかもしれないかに関する提案は高く評価されるでしょう。
なぜあなたは 'オーバーフローを使用している:隠さを;'あなたたいが境界の外に何かを示している場合? –
@PraveenKumar私はdivを未使用のセンタースペースを占有させるためにオーバーフロー隠しを使用していますが、これは私の記事で述べたように検索結果を賞金外に表示できないという問題を引き起こし、 – l3fty
私はJSBinでもコードをチェックしました。あなたは何か素晴らしいものを達成しようとしていますが、あなたは正しい方法でそれをやっていません。 –