HTMl - 横向滚动实现

横向滚动

虽然大多数网页都是垂直滚动的,但对于以显示地网站来说,横向滚动翻页(就像word的阅读视图那样)往往也是个不错的选择。如下为几种横向滚动的实现方式,不论哪种方式中,overflow-y: hidden都是必须的,该属性会禁用竖直方向的溢出。笔者才疏学浅,如有问题还望评论指正。

使用flex容器

flex容器详细使用可以参考阮一峰老师的flex教程。实际实现时,设置顶层容器为flex容器,方向为横向。然后对每个子元素设置其最小宽度即可。代码及效果图如下,其中.container为最顶层容器:

.container {
    font-size: 14px;
    width: 700px;
    height: 500px;
    margin: 15px;
    background-color: whitesmoke;
    box-shadow: gray 1px 1px 8px;
    overflow-y: hidden;
    overflow-x: hidden;
}
#targetDiv2{
    display: flex;
    background-color: wheat;
    flex-direction: row;
    height: 95%;
    padding: 5px;
    overflow-y: hidden;
    column-count: 1;
}
p { min-width: 200px; }

效果图
虽然flex容器实现了横向滚动,但他要求容器内子元素的宽度固定,否则容器会按照flex的规则排列铺满整个屏幕,而不是溢出到容器外。

使用column

在禁用竖直滚动后,若div元素的column-count属性值大于0,则会自动横向排列所有元素,并且元素的宽度会按照指定的值分割容器宽度。如下为代码及效果:

.container {
    font-size: 14px;
    width: 700px;
    height: 500px;
    margin: 15px;
    background-color: whitesmoke;
    box-shadow: gray 1px 1px 8px;
    overflow-y: hidden;
    overflow-x: hidden;
}
#targetDiv {
    margin: 5px;
    overflow-y: hidden;
    height: 95%;
    background-color: wheat;
    column-count: 1;
}
p { min-width: 200px; }

在这里插入图片描述

总结

CSS属性繁多复杂,而且不同浏览器有差异,想要尝试的话可以多看看其它网站的样式。F12查看元素,更改一下体会更深。

P.S. text-align属性中,justify值能够使段落内容两边对齐
P.P.S. text-align-last属性能够设置段落的最后一行的对齐方式,默认值为auto

### Element UI `el-table` 组件实现横向滚动方法 为了使 `el-table` 支持横向滚动,可以通过设置表格容器的宽度并启用水平滚动条来实现。具体来说,在定义表格时需指定列的数量和每列的宽度,当总宽度超过父容器宽度时会自动触发横向滚动。 #### CSS 样式调整 通过自定义CSS样式可以更好地控制滚动行为: ```css ::v-deep .el-table--scrollable-x .el-table__body-wrapper { overflow-x: auto !important; } ``` 此段代码确保了即使内容超出视口范围也能正常显示滚动条[^2]。 #### HTML 结构配置 在模板部分声明表格结构,并为每一列表明固定的宽度属性: ```html <template> <div style="width: 100%;"> <el-table :data="tableData"> <!-- 定义多个具有固定宽度的列 --> <el-table-column prop="date" label="日期" width="180"></el-table-column> <el-table-column prop="name" label="姓名" width="180"></el-table-column> <el-table-column prop="address" label="地址" min-width="300"></el-table-column> ... </el-table> </div> </template> <script setup> import { ref } from 'vue'; const tableData = ref([ // 数据项... ]); </script> ``` 上述例子展示了如何创建一个多列布局的表格,其中某些列设置了具体的宽度值,而其他未设定宽度的列则可以根据剩余空间灵活分配尺寸[^1]。 #### JavaScript 功能增强 如果希望进一步优化用户体验,比如响应式设计或动态加载更多数据等功能,则可以在脚本逻辑里加入相应处理机制[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值