固定在页面底部的可滚动元素

灵魂

我需要在页面底部有一个可滚动元素。

我以为我只是竟被设置会position: fixedbottom:0问题是,这是项目的水平列表,应该允许我在X轴上滚动浏览。

从我收集到的信息来看,似乎无法滚动一个position: fixed元素。但是通过删除它,我无法在页面底部显示它。如何解决呢?

这是我的应用当前外观的示例:

const items = ['item1', 'item2',  'item3', 'item4', 'item5', 'item6', 'item7', 'item8', 'item9', 'item10', 'item11', 'item12', 'item13', 'item14', 'item15', 'item16', 'item17', 'item18']

const App = () => {
    return (
      <div>
        My app...
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
         <h3>The following are the two versions of my components:</h3>    
        <p style={{ color: 'blue' }}>Without position fixed (blue one): on the wrong spot but can scroll</p>
<p style={{ color: 'red' }}>With position fixed (red one): On the bottom of the screen as I want to, but cant scroll...</p>

        <div style={{
                display: 'flex',
                bottom: 0,
                position: 'fixed',
                overflowX: 'scroll',
                backgroundColor: 'red'
              }}>
                {items.map((item, index) => (
                    <div key={index} style={{ overflowX: 'visible', margin: '0 30px', height: '100%' }}>
                        <h2>{item}</h2>
                    </div>
                ))}
            </div>
      
        <div style={{
                display: 'flex',
                bottom: 0,
                overflowX: 'scroll',
                backgroundColor: 'blue'
            }}>
                {items.map((item, index) => (
                    <div key={index} style={{ overflowX: 'visible', margin: '0 30px', height: '100%' }}>
                        <h2>{item}</h2>
                    </div>
                ))}
            </div>
      </div>
    )
}



ReactDOM.render(
    <App />,
    document.getElementById('app')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="app"></div>

这很容易解决!

将可能比视口更宽的元素设置为时position: fixed,请确保指定leftright属性。

没有这些元素,固定位置元素就不会受到宽度限制,因此浏览器认为它不需要是可滚动的。

width: 100%在某些情况下,您也可以使用

const items = ['item1', 'item2',  'item3', 'item4', 'item5', 'item6', 'item7', 'item8', 'item9', 'item10', 'item11', 'item12', 'item13', 'item14', 'item15', 'item16', 'item17', 'item18']

const App = () => {
    return (
      <div>
        My app...
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
         <h3>The following are the two versions of my components:</h3>    
        <p style={{ color: 'blue' }}>Without position fixed (blue one): on the wrong spot but can scroll</p>
<p style={{ color: 'red' }}>With position fixed (red one): On the bottom of the screen as I want to, but cant scroll...</p>

        <div style={{
                display: 'flex',
                bottom: 0,
                left: 0, //  <--
                right: 0, //  <--
                position: 'fixed',
                overflowX: 'scroll',
                backgroundColor: 'red'
              }}>
                {items.map((item, index) => (
                    <div key={index} style={{ overflowX: 'visible', margin: '0 30px', height: '100%' }}>
                        <h2>{item}</h2>
                    </div>
                ))}
            </div>
      
        <div style={{
                display: 'flex',
                bottom: 0,
                overflowX: 'scroll',
                backgroundColor: 'blue'
            }}>
                {items.map((item, index) => (
                    <div key={index} style={{ overflowX: 'visible', margin: '0 30px', height: '100%' }}>
                        <h2>{item}</h2>
                    </div>
                ))}
            </div>
      </div>
    )
}



ReactDOM.render(
    <App />,
    document.getElementById('app')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="app"></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

固定在可滚动元素底部的位置

来自分类Dev

使元素固定在屏幕底部

来自分类Dev

将元素固定在滚动页面的顶部

来自分类Dev

滚动时如何保持<li>元素固定在<ul>元素的顶部和底部

来自分类Dev

页脚未固定在页面底部

来自分类Dev

滚动时如何将表单元素固定在显示的屏幕底部?

来自分类Dev

如何在调整大小时将html元素固定在窗口的底部,而不是在滚动时将其固定在窗口的底部?

来自分类Dev

使div固定在页面上以角度滚动

来自分类Dev

将three.js 脚本固定在可滚动页面中

来自分类Dev

将元素固定在滚动条上(当其不在页面顶部时)

来自分类Dev

当上面显示了很多内容时,将页面垂直固定在元素上(从而导致滚动)

来自分类Dev

固定的标题部分,底部可滚动

来自分类Dev

为什么我的页脚没有固定在页面底部?

来自分类Dev

滚动后将元素固定到底部

来自分类Dev

Div,固定在底部,固定在顶部

来自分类Dev

将按钮固定在可滚动div的右上方

来自分类Dev

如何使页脚固定在底部?

来自分类Dev

如何使用jQuery滚动(元素的底部应在页面底部)

来自分类Dev

将div的水平滚动条固定到页面底部

来自分类Dev

固定的页脚在滚动到页面底部时会扩展

来自分类Dev

javascript固定在滚动位置

来自分类Dev

根据高度将网站页脚固定在页面底部还是下方?

来自分类Dev

使“手风琴/可折叠”中的DIV固定在页面顶部和底部

来自分类Dev

如何在可滚动页面的底部显示页脚?

来自分类Dev

jQuery UI可排序滚动到页面底部

来自分类Dev

将多个div元素设置为页面底部的“位置:固定”

来自分类Dev

当滚动元素的底部到达父元素的末尾时,停止jQuery固定位置滚动

来自分类Dev

当滚动元素的底部到达父元素的末尾时,停止jQuery固定位置滚动

来自分类Dev

创建元素后滚动到页面底部

Related 相关文章

  1. 1

    固定在可滚动元素底部的位置

  2. 2

    使元素固定在屏幕底部

  3. 3

    将元素固定在滚动页面的顶部

  4. 4

    滚动时如何保持<li>元素固定在<ul>元素的顶部和底部

  5. 5

    页脚未固定在页面底部

  6. 6

    滚动时如何将表单元素固定在显示的屏幕底部?

  7. 7

    如何在调整大小时将html元素固定在窗口的底部,而不是在滚动时将其固定在窗口的底部?

  8. 8

    使div固定在页面上以角度滚动

  9. 9

    将three.js 脚本固定在可滚动页面中

  10. 10

    将元素固定在滚动条上(当其不在页面顶部时)

  11. 11

    当上面显示了很多内容时,将页面垂直固定在元素上(从而导致滚动)

  12. 12

    固定的标题部分,底部可滚动

  13. 13

    为什么我的页脚没有固定在页面底部?

  14. 14

    滚动后将元素固定到底部

  15. 15

    Div,固定在底部,固定在顶部

  16. 16

    将按钮固定在可滚动div的右上方

  17. 17

    如何使页脚固定在底部?

  18. 18

    如何使用jQuery滚动(元素的底部应在页面底部)

  19. 19

    将div的水平滚动条固定到页面底部

  20. 20

    固定的页脚在滚动到页面底部时会扩展

  21. 21

    javascript固定在滚动位置

  22. 22

    根据高度将网站页脚固定在页面底部还是下方?

  23. 23

    使“手风琴/可折叠”中的DIV固定在页面顶部和底部

  24. 24

    如何在可滚动页面的底部显示页脚?

  25. 25

    jQuery UI可排序滚动到页面底部

  26. 26

    将多个div元素设置为页面底部的“位置:固定”

  27. 27

    当滚动元素的底部到达父元素的末尾时,停止jQuery固定位置滚动

  28. 28

    当滚动元素的底部到达父元素的末尾时,停止jQuery固定位置滚动

  29. 29

    创建元素后滚动到页面底部

热门标签

归档