2011-09-08 32 views
44

Có thể chỉ định vị trí (bên trái hoặc bên phải) cho vị trí của thanh cuộn dọc trên div không?Làm thế nào để định vị thanh cuộn div ở phía bên tay trái?

Ví dụ: xem this page giải thích cách sử dụng thuộc tính tràn. Có cách nào để đặt thanh cuộn ở phía bên tay trái của khu vực có thể cuộn được không?

+2

có thể trùng lặp của [thanh cuộn phần tử HTML ở bên trái] (http://stackoverflow.com/questions/2772347/html-element-scrollbar-on-the-left) – peirix

+2

Để tham khảo sau này, không sử dụng http: //w3schools.com là nguồn thông tin của bạn, một số thông tin có sai lệch và không chính xác. Xem http://w3fools.com –

+0

Hãy xem chủ đề này. Cho thấy một số trong những hạn chế này Im sợ. http://stackoverflow.com/questions/5123417/css3-how-do-i-position-a-left-scrollbar-on-a-tbody-element-of-a-table-for-google –

Trả lời

6

Không, bạn không thể thay đổi vị trí thanh cuộn mà không gặp bất kỳ sự cố nào khác.

Bạn có thể thay đổi hướng văn bản thành từ phải sang trái (rtl), nhưng nó cũng thay đổi vị trí văn bản bên trong khối.

Mã này có thể giúp bạn, nhưng tôi không chắc chắn nó hoạt động trong tất cả các trình duyệt và hệ điều hành.

<element style="direction: rtl; text-align: left;" /> 
+0

Tôi nghĩ rằng IE và Opera là trình duyệt duy nhất để đặt thanh cuộn bên trái cho nội dung RTL. – Joey

54

Bạn có thể thử direction:rtl; trong css của mình. Sau đó, đặt lại hướng văn bản ở bên trong div

#scroll{ 
    direction:rtl; 
    overflow:auto; 
    height:50px; 
    width:50px;} 

#scroll div{ 
    direction:ltr; 
} 

Chưa được kiểm tra.

+2

Tôi nghĩ IE và Opera là các trình duyệt duy nhất để đặt thanh cuộn bên trái cho nội dung RTL. – Joey

+2

@Joey không đúng cũng chrome dưới ubuntu – Tom

+0

Tôi muốn xác nhận rằng Chrome 32 vị trí bên trái. Và tại thời điểm này, nó không ngạc nhiên khi Firefox là một laggard trong css –

25

Tôi gặp vấn đề tương tự. nhưng khi tôi thêm direction: rtl; vào các tab và combo accordion nhưng nó làm hỏng cấu trúc của tôi.

Cách thực hiện là thêm div với direction: rtl; làm phần tử gốc và cho bộ div con direction: ltr;.

tôi sử dụng này đầu tiên https://api.jquery.com/wrap/

$(".your selector of child element").wrap("<div class='scroll'></div>"); 

sau đó chỉ đơn giản là làm việc với css :)

Ở trẻ em div thêm vào css

.your_class { 
      direction: ltr;  
     } 

Và để div cha mẹ bổ sung bởi jQuery với lớp .scroll

.scroll { 
      unicode-bidi:bidi-override; 
      direction: rtl; 
      overflow: scroll; 
      overflow-x: hidden!important; 
     } 

trình trưởng ban cho tôi

http://jsfiddle.net/jw3jsz08/1/

+1

câu trả lời hay nhất haha, không có upvotes. –

+0

http://jsfiddle.net/jw3jsz08/1/ đơn giản và hiệu quả trong mọi trình duyệt. – user1597594

+0

giải pháp tốt nhất, cảm ơn bạn! – jonathana

0

Dưới đây là những gì tôi đã thực hiện để làm các công trình thanh cuộn phải. Điều duy nhất cần phải xem xét là khi sử dụng 'hướng: rtl' và toàn bộ bảng cũng cần phải được thay đổi. Hy vọng rằng điều này cung cấp cho bạn ý tưởng làm thế nào để làm điều đó.

Ví dụ:

<table dir='rtl'><tr><td>Display Last</td><td>Display Second</td><td>Display First</td></table> 

Kiểm tra này: JSFiddle

5

Kind của một câu hỏi cũ, nhưng tôi nghĩ tôi nên ném vào một phương pháp mà không phải là phổ biến rộng rãi khi câu hỏi này được hỏi.

Bạn có thể đảo ngược cạnh của thanh cuộn trong trình duyệt hiện đại sử dụng transform: scaleX(-1) trên bố mẹ <div>, sau đó áp dụng cùng một biến đổi để đảo ngược phần tử con "" tay áo.

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 
} 

Lưu ý: Bạn có thể cần phải sử dụng một tiền tố -ms-transform hoặc -webkit-transform cho các trình duyệt như cũ như IE 9. Kiểm tra CanIUse và bấm vào nút "hiển thị tất cả" để xem yêu cầu trình duyệt cũ hơn.

+0

Đây là một trong những giải pháp nổi bật nhất. – Miron

+0

Cảm ơn! Từ những gì tôi hiểu, thay đổi hướng văn bản cũng hoạt động. Các biến đổi tài sản chỉ cảm thấy nhiều hơn ... thanh lịch? Ít nhất nó đúng ngữ nghĩa hơn. :) –

+2

Tôi nghĩ bạn cũng được hưởng lợi từ một số cải tiến GPU bằng cách sử dụng phương pháp này. Tôi đang bay trong một menu từ phía bên phải của màn hình và không muốn thanh cuộn của menu bên cạnh thanh cuộn trang ... quá khó hiểu. Tôi nhận được ít jank hoạt hình bằng cách sử dụng này hơn là chuyển hướng. –

Các vấn đề liên quan