【问题标题】:Responsive search bar响应式搜索栏
【发布时间】:2022-01-26 02:05:14
【问题描述】:

max-width: 380px; 处的文本应该会消失,并且只会出现搜索图标。但是,文本并没有消失。

@media screen and(max-width: 380px) {
  nav div form span .text {
    display: none;
  }
}
<div class="search-container">
  <form>
    <input type="text" placeholder="Search..." name="search" />
    <button type="submit">
      <i class="fas fa-search"></i><span class="text">Search</span>
    </button>
  </form>
</div>

【问题讨论】:

  • 您在 span 和 .text 之间有一个空格,因为它们试图选择相同的元素,所以它们不应该存在。空格表示后代。
  • 另外,在and(max-width: 380px)之间添加一个空格。

标签: html css responsive


【解决方案1】:

正如@AHaworth 在 cmets 中所说,空格选择兄弟姐妹,无论是否直接。因此,如果您在 div 内有跨度,或者在 div 内的 p 内有跨度,div span 会选择它。那不是你想要的。你想要span.text。这会选择 spans 和 text 类。

@media only screen and (max-width: 380px) {
  span.text {
    display: none;
  }
}
<nav>
  <div class="search-container">
    <form>
      <input type="text" placeholder="Search..." name="search">
      <button type="submit"><i class="fas fa-search"></i><span class="text">Search</span></button>
    </form>
  </div>
</nav>

<script src="https://use.fontawesome.com/6ba8be0f46.js"></script>

JSFiddle -- Resize the window here.

【讨论】:

  • @A Hawroth @Someone_who_likes_SE 我想将搜索栏的宽度减小到 320 像素,这样搜索栏和搜索按钮总是并排放置。
  • @AbhranilDas 如果您还有其他问题,请作为其他问题提出。
  • @AbhranilDas 这可能是不可能的,因为不同的设备具有不同的字体/字体大小,并且可能无法知道每个设备的宽度。我会尽力。但是如果你愿意,你可以在宽度为 100% 的东西上使用 display:table; 来强制两者占用 100% 的空间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-20
  • 1970-01-01
  • 2022-12-18
  • 2021-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多