RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1021204
Accepted
Родион Поляков
Родион Поляков
Asked:2020-09-07 19:57:31 +0000 UTC2020-09-07 19:57:31 +0000 UTC 2020-09-07 19:57:31 +0000 UTC

如何调整块高度?

  • 772

我正在尝试从此聊天中复制对话框的布局。聊天本身有一个固定的高度。里面的聊天分为3个区块。1 块具有固定高度并被压到顶部。3块有一个固定的高度并压到底部。块 2 占据了所有剩余空间,并能够在其内部滚动内容。主要问题是我不明白如何调整聊天块的高度。也就是说,主聊天块随着浏览器窗口的减少而减少。有任何想法吗?

在此处输入图像描述

html

<div class="cart">
    <div class="cart-header">
        <p>Прижать к верху.</p>
    </div>
    <div class="cart-body">
        <p>Занять все свободное место с возможностью прокрутки (overflow).</p>
    </div>
    <div class="cart-footer">
        <p>Прижать к низу.</p>
    </div>
</div>

css

.cart {
    position: fixed;
    right: 15px;
    bottom: 15px;

    // 576 px и больше.
    @include media-breakpoint-up(sm) {
        right: 30px;
        bottom: 30px;
    }

    &.show {
        width: 100%;
        height: 100%;

        // 576 px и больше.
        @include media-breakpoint-up(sm) {
            max-width: 380px;
            max-height: 600px;
        }
    }
}

.cart-body {
    display: none;

    .cart.show > & {
        display: block;
    }
}

.cart-footer {
    display: none;

    .cart.show > & {
        display: block;
    }
}
html
  • 3 3 个回答
  • 10 Views

3 个回答

  • Voted
  1. Best Answer
    Sevastopol'
    2020-12-07T18:26:56Z2020-12-07T18:26:56Z

    一切都非常简单。对于父块.chat_contanier,您需要设置浏览器窗口的全高,即 100%。计量单位vh。就像它的子块一样chat。此外,不要忘记为您的聊天窗口设置最大高度max-height。

    body {
      background-color: #999;
      margin: 0;
      padding: 0;
    }
    
    .chat_contanier {
      position: absolute;
      bottom: 0;
      right: 0;
      height: 100vh;
      max-height: 450px;
    }
    
    .chat {
      position: relative;
      overflow: hidden;
      width: 250px;
      background-color: #fff;
      float: right;
      border-radius: 5px;
      height: 100vh;
      max-height: 450px;
    }
    
    .chat_top {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 40px;
      line-height: 40px;
      padding: 0 10px;
      border-bottom: 2px solid red;
      box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3);
    }
    
    .chat_bottom {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 60px;
      line-height: 60px;
      padding: 0 10px;
      border-top: 2px solid red;
      box-shadow: 2px 0 10px 0 rgba(0, 0, 0, 0.3);
    }
    
    .chat_center {
      position: absolute;
      top: 40px;
      bottom: 60px;
      left: 0;
      right: 0;
      padding: 10px;
    }
    <div class="chat_contanier">
      <div class="chat">
        <div class="chat_top">Поддержка Чатры
        </div>
        <div class="chat_center">Диалог
        </div>
        <div class="chat_bottom">Сообщение...
        </div>
      </div>
    </div>

    • 1
  2. Hayko
    2020-09-07T20:10:21Z2020-09-07T20:10:21Z

    我不知道这对你有多大帮助,但如果你给块

    overflow: auto;
    

    然后他会根据自己的需要伸展。

    • 0
  3. fanfer
    2020-09-08T07:32:45Z2020-09-08T07:32:45Z

    这个想法是使用度量单位vh。

    在这个例子中,整个聊天窗口将是屏幕高度的 30%

    .cart {
      position: fixed;
      right: 25px;
      bottom: 15px;
      height: 30vh;
      min-height: 150px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      -o-flex-direction: column;
      flex-direction: column;
    }
    
    .cart-header {
      height: 50px;
    }
    
    .cart-body {
      flex: 1;
      background-color: #f0f0f0;
    }
    
    .cart-footer {
      height: 50px;
    }
    <div class="cart">
      <div class="cart-header">
        <p>Прижать к верху.</p>
      </div>
      <div class="cart-body">
        <p>Занять все свободное место с возможностью прокрутки (overflow).</p>
      </div>
      <div class="cart-footer">
        <p>Прижать к низу.</p>
      </div>
    </div>

    或者。在这个例子中,聊天的“body”将是屏幕高度的 30%,而整个聊天将是顶部和底部的 30% + 100px。

    .cart {
      position: fixed;
      right: 25px;
      bottom: 15px;
    }
    
    .cart-header {
      height: 50px;
    }
    
    .cart-body {
      flex: 1;
      background-color: #f0f0f0;
      height: 30vh;
    }
    
    .cart-footer {
      height: 50px;
    }
    <div class="cart">
      <div class="cart-header">
        <p>Прижать к верху.</p>
      </div>
      <div class="cart-body">
        <p>Занять все свободное место с возможностью прокрутки (overflow).</p>
      </div>
      <div class="cart-footer">
        <p>Прижать к низу.</p>
      </div>
    </div>

    • 0

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    根据浏览器窗口的大小调整背景图案的大小

    • 2 个回答
  • Marko Smith

    理解for循环的执行逻辑

    • 1 个回答
  • Marko Smith

    复制动态数组时出错(C++)

    • 1 个回答
  • Marko Smith

    Or and If,elif,else 构造[重复]

    • 1 个回答
  • Marko Smith

    如何构建支持 x64 的 APK

    • 1 个回答
  • Marko Smith

    如何使按钮的输入宽度?

    • 2 个回答
  • Marko Smith

    如何显示对象变量的名称?

    • 3 个回答
  • Marko Smith

    如何循环一个函数?

    • 1 个回答
  • Marko Smith

    LOWORD 宏有什么作用?

    • 2 个回答
  • Marko Smith

    从字符串的开头删除直到并包括一个字符

    • 2 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5