所以我想知道是否有可能与overflow:scroll
值有不同的起始位置;
当您开始在div
中滚动时,默认行为是从左向右滚动:
|<--Scrollbar-Starting-Left-->_________________________________________________|
它可能从右边开始吗?
|_________________________________________________<--Scrollbar-Starting-Right-->|
In my example red
和green
项首先可见,我希望green
和blue
项首先可见:)
我试过direction:rtl;
但没有运气
答案 0 :(得分:33)
direction:rtl
document.querySelector('input').addEventListener('input', function(){
document.querySelector('.box').scrollLeft = this.value;
})
.box{
width: 320px;
height: 100px;
border:1px solid red;
overflow: scroll;
direction: rtl; /* <-- the trick */
}
.box::before{ content:''; display:block; width:400%; height:1px; }
<div class='box'></div>
<br>
<input placeholder='scrollLeft value'>
可能会有用
答案 1 :(得分:3)
我不知道任何只有CSS的解决方案,但您可以使用Jquery来更改滚动条的初始位置,如下所示:
$(document).ready(function(){
$('#box').scrollLeft($(this).height())
})
选中此Demo Fiddle
答案 2 :(得分:2)
使用javascript,您可以在页面加载时设置scrollLeft属性(使用el.scrollLeft = el.scrollWidth - el.clientWidth;
)。
答案 3 :(得分:1)
我一直在一个项目中工作,而且对我来说非常有效:
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
答案 4 :(得分:1)
如果在最顶层答案的文本末尾添加右括号,则会出现意外行为。 (在Chrome 54中测试)
<div id="box">
<div id="inner_box">
<div class="item" style="background:red;"></div>
<div class="item" style="background:green;"></div>
<div class="item" style="background:blue;">te(st)</div>
</div>
</div>
观看此Feed的结果:http://jsfiddle.net/mm37pqxa/
答案 5 :(得分:0)
您可以使用一行jQuery执行此操作:
$("#box").scrollLeft(480);