css 渲染位置和中断
css rendering position and break
我在设置搜索结果框的样式时遇到了很大的麻烦。
我只是不能把它放在输入框(搜索)下面,并以一种很好的方式列出结果。都是乱七八糟的,没有定位在输入框下面。所有的结果都是一个以上的。 (图中左下角的结果)
我的HTML:
<li>
<form role="search" class="app-search hidden-sm hidden-xs m-r-10" class="searchb">
<div class="search-box">
<input type="text" placeholder="Search..." class="form-control" id="search" name="search"> <a href=""><i class="fa fa-search"></i></a>
<div class="results"></div></div>
</form>
</li>
我的CSS:
.search-box .results{
position:absolute;
}
.search-box .results a{
padding: 5px 10px;
max-height: 400px;
overflow: auto;
position: absolute;
z-index: 990;
}
我的PHP代码输出结果如下:
while($row_data = $stmt_result->fetch_assoc()) {
echo "<a href='index.php?id=prt&c=$row_data[id]'>$row_data[name]</a>";
}
如果它很重要,我的结果是用 JS 获取的:
<script type="text/javascript">
$(document).ready(function(){
$('.search-box input[type="text"]').on("keyup input", function(){
/* Get input value on change */
var inputVal = $(this).val();
var resultDropdown = $(this).siblings(".results");
if(inputVal.length){
$.get("search.php", {term: inputVal}).done(function(data){
// Display the returned data in browser
resultDropdown.html(data);
});
} else{
resultDropdown.empty();
}
});
// Set search input value on click of result item
$(document).on("click", ".result p", function(){
$(this).parents(".search-
box").find('input[type="text"]').val($(this).text());
$(this).parent(".results").empty();
});
});
</script>
有人可以帮我解决问题吗?
您为 a
标签指定了一个绝对位置,这导致它相互堆叠。如果您希望每个堆叠在自己的行上,请给它一个 position:relative;
和一个 display:block;
.
.search-box .results a{
padding: 5px 10px;
max-height: 400px;
overflow: auto;
position: relative;
z-index: 990;
display:block;
}
我在设置搜索结果框的样式时遇到了很大的麻烦。 我只是不能把它放在输入框(搜索)下面,并以一种很好的方式列出结果。都是乱七八糟的,没有定位在输入框下面。所有的结果都是一个以上的。 (图中左下角的结果)
我的HTML:
<li>
<form role="search" class="app-search hidden-sm hidden-xs m-r-10" class="searchb">
<div class="search-box">
<input type="text" placeholder="Search..." class="form-control" id="search" name="search"> <a href=""><i class="fa fa-search"></i></a>
<div class="results"></div></div>
</form>
</li>
我的CSS:
.search-box .results{
position:absolute;
}
.search-box .results a{
padding: 5px 10px;
max-height: 400px;
overflow: auto;
position: absolute;
z-index: 990;
}
我的PHP代码输出结果如下:
while($row_data = $stmt_result->fetch_assoc()) {
echo "<a href='index.php?id=prt&c=$row_data[id]'>$row_data[name]</a>";
}
如果它很重要,我的结果是用 JS 获取的:
<script type="text/javascript">
$(document).ready(function(){
$('.search-box input[type="text"]').on("keyup input", function(){
/* Get input value on change */
var inputVal = $(this).val();
var resultDropdown = $(this).siblings(".results");
if(inputVal.length){
$.get("search.php", {term: inputVal}).done(function(data){
// Display the returned data in browser
resultDropdown.html(data);
});
} else{
resultDropdown.empty();
}
});
// Set search input value on click of result item
$(document).on("click", ".result p", function(){
$(this).parents(".search-
box").find('input[type="text"]').val($(this).text());
$(this).parent(".results").empty();
});
});
</script>
有人可以帮我解决问题吗?
您为 a
标签指定了一个绝对位置,这导致它相互堆叠。如果您希望每个堆叠在自己的行上,请给它一个 position:relative;
和一个 display:block;
.
.search-box .results a{
padding: 5px 10px;
max-height: 400px;
overflow: auto;
position: relative;
z-index: 990;
display:block;
}