是否可以在div上指定一个位置(左侧或右侧)来放置垂直滚动条?
例如看看这个页面,它解释了如何使用overflow属性。是否有一些方法将滚动条放置在可滚动区域的左侧?
direction: rtl;
,然后在内部 div
中重置文本方向。#scroll{
direction:rtl;
overflow:auto;
height:50px;
width:50px;}
#scroll div{
direction:ltr;
}
未经测试。
.list_container {
direction: rtl;
overflow:auto;
height: 50px;
width: 50px;
}
.item_direction {
direction:ltr;
}
<div class="list_container">
<div class="item_direction">1</div>
<div class="item_direction">2</div>
<div class="item_direction">3</div>
<div class="item_direction">4</div>
<div class="item_direction">5</div>
<div class="item_direction">6</div>
<div class="item_direction">7</div>
<div class="item_direction">8</div>
<div class="item_direction">9</div>
<div class="item_direction">10</div>
<div class="item_direction">11</div>
<div class="item_direction">12</div>
</div>
或者
任何高度或宽度都可以使用
<style>
.list_container {
direction: rtl;
overflow:auto;
height: 50px;
width: 50px;
}
.item_direction {
direction:ltr;
}
</style>
<div class="list_container">
<div class="item_direction">1</div>
<div class="item_direction">2</div>
<div class="item_direction">3</div>
<div class="item_direction">4</div>
<div class="item_direction">5</div>
<div class="item_direction">6</div>
<div class="item_direction">7</div>
<div class="item_direction">8</div>
<div class="item_direction">9</div>
<div class="item_direction">10</div>
<div class="item_direction">11</div>
<div class="item_direction">12</div>
</div>
可选地,可以将 class="item_direction"
添加到每个项目中,以改变文本流的方向,同时保留容器的方向。
class="item_direction"
代替id="item_direction"
, 并使用.item_direction {
代替#item_direction {
。 - movabo.list_container > * { direction: ltr; }
。 - Erich Schreiner这是一个有些老旧的问题,但我认为我应该提供一种在这个问题被问出时并不广泛可用的方法。
您可以在现代浏览器中通过在父级<div>
上使用transform: scaleX(-1)
来反转滚动条的方向,然后将相同的变换应用于反转子元素,即“套袖”元素。
HTML
<div class="parent">
<div class="sleeve">
<!-- content -->
</div>
</div>
CSS
.parent {
overflow: auto;
transform: scaleX(-1); //Reflects the parent horizontally
}
.sleeve {
transform: scaleX(-1); //Flips the child back to normal
}
注意:对于像IE 9这样的旧浏览器,您可能需要使用-ms-transform
或-webkit-transform
前缀。请检查CanIUse并单击“显示全部”以查看更早期的浏览器要求。transform: scaleY(-1)
。 - Daniel Williams我有同样的问题,但是当我在选项卡和手风琴组合中添加direction: rtl;
时会破坏我的结构。
解决方法是添加一个父元素为direction: rtl;
的
direction: ltr;
。
我使用了这个https://api.jquery.com/wrap/
$( ".your selector of child element" ).wrap( "<div class='scroll'></div>" );
那就简单地用CSS工作吧 :)
在子 div 中添加到 CSS
.your_class {
direction: ltr;
}
通过jQuery添加到父div中的class为.scroll
.scroll {
unicode-bidi:bidi-override;
direction: rtl;
overflow: scroll;
overflow-x: hidden!important;
}
对我来说完美地工作。
不,你不能改变滚动条的位置而不会出现其他问题。
你可以将文本方向更改为从右到左( rtl ),但这也会改变块内文本的位置。
这段代码可能会对你有帮助,但我不确定它在所有浏览器和操作系统上都能正常工作。
<element style="direction: rtl; text-align: left;" />
这是我为使右侧滚动条正常工作所做的事情。唯一需要考虑的是在使用“direction: rtl”时,整个表格也需要更改。希望这能给你一个实现的思路。
示例:
<table dir='rtl'><tr><td>Display Last</td><td>Display Second</td><td>Display First</td></table>
请查看:JSFiddle