关于滚动条占位出现的问题

当浏览器窗口宽度小于1200px时,页面底部出现的横向滚动条导致页面高度增加,引起走向滚动条。解决方法是在CSS中设置`margin-bottom: calc(100vh - 100%)`,100vh表示包含滚动条的浏览器内部高度,100%表示不含滚动条的宽度。这样在滚动条出现时,可以动态调整margin-bottom为滚动条高度,避免额外的垂直滚动。
摘要由CSDN通过智能技术生成

由于我的网页设置了最小宽度为1200px

当浏览器窗口拖拽到宽度小于1200px时,页面底部出现了横向滚动条

这个滚动条我是需要的,但是滚动条的出现导致页面高度增加,这样走向的滚动条也出来了

解决办法是增加了一个动态的margin-bottom

 margin-bottom: calc(100vh - 100%);

100vh代表相对于浏览器的window.innerHeight,是浏览器的内部高度,包含滚动条高度

100%是可用宽度,是不含滚动条的宽度。

没有滚动条的时候,相当于margin-bottom:0

出现滚动条的时候,相当于margin-bottom:滚动条高度

 

.app_bootm{
  flex:1;
  height: calc(100vh - #{$mainBarHeight});  
  display: flex;
  flex-direction: row;
  overflow: auto;
  background: red;
  margin-bottom: calc(100vh - 100%);
}
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>如何避免滚动条出现影响</title>
  <script>
    function myFunction() {
      x = document.getElementById("demo");
      console.dir(x);
 
在Qt中,要创建一个滚动条(QScrollBar)跟随鼠标指针移动,通常是在处理窗口或控件的鼠标滚轮事件(QWheelEvent)时动态更新滚动条的位置。以下是一个简单的例子,展示了如何在一个窗口中做到这一点: ```cpp #include <QApplication> #include <QWidget> #include <QVBoxLayout> #include <QScrollBar> #include <QWheelEvent> class ScrollableWindow : public QWidget { public: ScrollableWindow(QWidget *parent = nullptr) : QWidget(parent), scrollBar(new QScrollBar(Qt::Horizontal)) { QVBoxLayout* layout = new QVBoxLayout(); setLayout(layout); // 设置初始滚动范围 scrollBar->setRange(0, 100); // 当鼠标滚轮被按下时,开始跟踪 connect(scrollBar, &QScrollBar::valueChanged, this, &ScrollableWindow::scrollBarValueChanged); connect(this, &ScrollableWindow::wheelEvent, this, &ScrollableWindow::handleWheelEvent); layout->addWidget(scrollBar); } private slots: void scrollbarValueChanged(int value) { // 更新窗口内部视图的滚动位置,根据scrollBar的变化 // 这里只是一个占位,你需要根据实际情况替换为更新视图的部分 int viewScrollPosition = ...; // 根据value计算视图滚动位置 // 设置窗口视图的新位置 updateViewScroll(viewScrollPosition); } void handleWheelEvent(QWheelEvent *event) { if (event->delta() > 0) { // 如果向上滚 // 增加滚动条值,模拟更多滚动 scrollBar->setValue(scrollBar->value() + 5); // 可以调整步长 } else if (event->delta() < 0) { // 如果向下滚 scrollBar->setValue(scrollBar->value() - 5); // 反之亦然 } } // 这个方法需要根据视图的具体实现来实现,比如QListView、QTableView等 virtual void updateViewScroll(int position) {} }; int main(int argc, char *argv[]) { QApplication app(argc, argv); ScrollableWindow window; window.show(); return app.exec(); } ``` 在这个示例中,`scrollBarValueChanged`槽函数会在滚动条滑动时被调用,而`handleWheelEvent`则在接收到鼠标滚轮事件时增加或减少滚动条的值。`updateViewScroll`方法是你需要根据你的具体视图类型来实现的,它负责更新视图的实际滚动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值