首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >滚动条位于绝对位置的顶部

滚动条位于绝对位置的顶部
EN

Stack Overflow用户
提问于 2017-12-18 18:09:19
回答 1查看 38关注 0票数 1

我试图做一个简单的搜索框,它应该在可搜索组件顶部滚动。问题是搜索框不适合外部容器,只需要遍历它(position: absolute)并与滚动条的up arrow重叠。

如何使搜索框适合于外部容器(整个宽度)而不重叠滚动条?

代码语言:javascript
复制
.container {
  border-color: rgb(221, 221, 221);
  height: 140px;
  text-align: left;
  overflow: auto;
  border: 1px solid #a0a7b2;
  border-radius: 4px;
}

.outer {
  position: relative;
  display: block;
    float: none;
    width: 120px;
}

input {
  border: none;
  box-shadow: none;
  background-color: #f1f1f1;
  border-radius: 4px;
  height: 18px;
  display: inline-block;
  width: auto;
}

.search {
    background-color: #f1f1f1;
    position: absolute;
    width: 99%;
}

.list {
  margin-top: 20px;
}
代码语言:javascript
复制
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title></title>
</head>
<body>
   <div class="outer">
     <div class="container">
       <div class="search">
         <input type="text"/>
       </div>
       <div class="list">
         <ul>
           <li>Hola</li>
           <li>Hola</li>
           <li>Hola</li>
           <li>Hola</li>
           <li>Hola</li>
           <li>Hola</li>
           <li>Hola</li>
           <li>Hola</li>
           <li>Hola</li>
         </ul>
       </div>
   </div.
  </div>
</body>
</html>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-18 18:18:14

您需要做的更改:

  • 修改overflow to hidden in container class并使其成为position:relative
  • 设置position of search and list to absolute
  • 设置height of list to 100%overflow-y:scroll
  • width of input更改为100%。

这些修改以下列方式更改代码:

  1. 您的子容器现在相对于主容器绝对定位。
  2. 您不是在滚动主容器,而是只滚动包含无序列表的列表。

代码语言:javascript
复制
.container {
  border-color: rgb(221, 221, 221);
  height: 140px;
  text-align: left;
  border: 1px solid #a0a7b2;
  border-radius: 4px;
  position:relative;
  overflow:hidden;
}

.outer {
  position: relative;
  display: block;
  float: none;
  width: 120px;
}

input {
  border: none;
  box-shadow: none;
  background-color: #f1f1f1;
  border-radius: 4px;
  height: 18px;
  width:100%;
}

.search {
  background-color: #f1f1f1;
  position: absolute;
  width: 99%;
}

.list {
  position:absolute;
  margin-top: 20px;
  width:100%;
  height:100%;
  overflow-y: scroll;
}
代码语言:javascript
复制
<html>

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title></title>
</head>

<body>
  <div class="outer">
    <div class="container">
      <div class="search">
        <input type="text" />
      </div>
      <div class="list">
        <ul>
          <li>Hola</li>
          <li>Hola</li>
          <li>Hola</li>
          <li>Hola</li>
          <li>Hola</li>
          <li>Hola</li>
          <li>Hola</li>
          <li>Hola</li>
          <li>Hola</li>
        </ul>
      </div>
      </div. </div>
</body>

</html>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47874102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档