จะเปลี่ยนตำแหน่งแถบเลื่อนด้วย CSS ได้อย่างไร?


94

มีวิธีใดในการเปลี่ยนตำแหน่งของแถบเลื่อนจากซ้ายไปขวาหรือจากล่างขึ้นบนด้วย CSS หรือไม่?


แถบเลื่อนของเบราว์เซอร์ของคุณ?
Awais Umar

ลองใช้ปลั๊กอินนี้jscrollpane.kelvinluck.comปลั๊กอินjquery นี้จะช่วยให้คุณทำ css แบบกำหนดเองบนแถบเลื่อน
Awais Umar

สิ่งเดียวที่ฉันคิดได้คือการมีแถบเลื่อนและสไตล์ที่กำหนดเองเพื่อจัดตำแหน่งตามที่คุณต้องการ ปลั๊กอิน jscrollpane ที่แนะนำโดย @AwaisUmar เป็นสิ่งที่ฉันเคยใช้ในอดีตและเป็นการเริ่มต้นที่ดีทีเดียว
Zhihao

เป็นเบราว์เซอร์ทั้งหมด แต่ถ้าคุณรู้เกี่ยวกับเบราว์เซอร์เฉพาะบอกเรา
Mohsen Safari

ไม่มีทางทำได้ด้วย CSS ที่บริสุทธิ์
Itay

คำตอบ:


125

ใช้ CSS เท่านั้น:

การพลิกขวา / ซ้าย: Working Fiddle

.Container
{
    height: 200px;
    overflow-x: auto;
}
.Content
{
    height: 300px;
}

.Flipped
{
    direction: rtl;
}
.Content
{
    direction: ltr;
}

การพลิกบน / ล่าง: การทำงานของซอ

.Container
{
    width: 200px;
    overflow-y: auto;
}
.Content
{
    width: 300px;
}

.Flipped, .Flipped .Content
{
    transform:rotateX(180deg);
    -ms-transform:rotateX(180deg); /* IE 9 */
    -webkit-transform:rotateX(180deg); /* Safari and Chrome */
}

1
ฉันไม่เห็นแถบเลื่อนด้านบนที่พลิกdivใน Chrome 29 ที่ด้านบน / ล่างพลิกซอ
Mathijs Flietstra

เห็นได้ชัดว่ามันข้อผิดพลาดเบราว์เซอร์ ฉันได้อัปเดต Fiddle ของฉันในคำตอบแล้ว ตรวจสอบตอนนี้
avrahamcool

ใน Google Chrome 35.0.1916.153 เมื่อฉันหมุนสองครั้งมีปัญหาบางอย่างเกี่ยวกับอินพุต / การเลือก ใน FF ทุกอย่างทำงานได้ดี
lechup

@lechup โพสต์เฟี้ยวได้มั้ย? เราจะพยายามช่วย
avrahamcool

1
ฉันเพิ่งค้นพบข้อบกพร่อง (บน Edge) หากเนื้อหาที่พลิกมีตารางที่มีช่องทำเครื่องหมายในแต่ละแถวตัวชี้เหตุการณ์จะยุ่งเหยิง หากคุณเลือกช่องทำเครื่องหมายสุดท้ายระบบจะเลือกช่องแรกและช่องในทางกลับกัน ดูซอjsfiddle.net/uPwfn/646
James Cazzetta

3

นี่คืออีกทางหนึ่งโดยrotating elementที่มีscrollbarสำหรับ180deg,การตัดมันcontentลงไปในองค์ประกอบอื่นและrotatingว่าสำหรับwrapper -180degตรวจสอบตัวอย่างด้านล่าง


1
ฉลาด แต่อย่างน้อยใน Linux Firefox ของฉันมันมีผลข้างเคียงจากการสลับเอฟเฟกต์แทรก / เริ่มต้นของตัวจัดการและแถบเลื่อน ซึ่งสับสนมาก
Martin Tournoij

ดูที่ ansower นี้stackoverflow.com/questions/7889449/...
shaddad

@Carpetsmoker ใช่คงที่ปัญญาrtlและltrทิศทาง ดังนั้นมันจะมีการเลื่อนแบบดั้งเดิมscroll-down ไปที่ด้านล่างและscroll-upด้านบน
กระบวนการ

1
ใช่มันคงที่สำหรับแนวตั้ง แต่ไม่ใช่แนวนอน
Martin Tournoij

2

ลองดูสิ หวังว่านี่จะช่วยได้

<div id="single" dir="rtl">
    <div class="common">Single</div>
</div>

<div id="both" dir="ltr">
    <div class="common">Both</div>
</div>



#single, #both{
    width: 100px;
    height: 100px;
    overflow: auto;
    margin: 0 auto;
    border: 1px solid gray;
}


.common{
    height: 150px;
    width: 150px;
}

ความคิดที่ฉลาดโดยใช้การdirเรียนรู้สิ่งใหม่ ๆ แต่ฉันก็ต้องการด้านบนและด้านล่างเช่นกัน
ไม่มีที่สิ้นสุด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.