ขั้นแรกกำหนดความสูงมากกว่าความกว้าง ตามทฤษฎีแล้วนี่คือทั้งหมดที่คุณควรต้องมี ข้อกำหนดHTML5 แนะนำมาก :
... UA กำหนดแนวของตัวควบคุมจากอัตราส่วนของคุณสมบัติความสูงและความกว้างที่ระบุสไตล์ชีต
โอเปร่ามีมันดำเนินการด้วยวิธีนี้ แต่โอเปร่าตอนนี้ใช้WebKit กะพริบตา ณ วันนี้ไม่มีเบราว์เซอร์ใดที่ใช้แถบเลื่อนแนวตั้งโดยพิจารณาจากความสูงที่มากกว่าความกว้างเท่านั้น
ไม่ว่าจะต้องตั้งค่าความสูงมากกว่าความกว้างเพื่อให้ได้เค้าโครงที่เหมาะสมระหว่างเบราว์เซอร์ การใช้ช่องว่างด้านซ้ายและด้านขวาจะช่วยในการจัดวางและการวางตำแหน่ง
สำหรับ Chrome -webkit-appearance: slider-vertical
ใช้
สำหรับ IE ใช้writing-mode: bt-lr
.
สำหรับ Firefox ให้เพิ่มorient="vertical"
แอตทริบิวต์ใน html สงสารที่พวกเขาทำแบบนี้ สไตล์ภาพควรควบคุมผ่าน CSS ไม่ใช่ HTML
input[type=range][orient=vertical]
{
writing-mode: bt-lr;
-webkit-appearance: slider-vertical;
width: 8px;
height: 175px;
padding: 0 5px;
}
<input type="range" orient="vertical" />
ข้อจำกัดความรับผิดชอบ:
โซลูชันนี้ขึ้นอยู่กับการใช้งานเบราว์เซอร์ในปัจจุบันของคุณสมบัติ CSS ที่ยังไม่ได้กำหนดหรือไม่ได้กำหนด หากคุณต้องการใช้ในโค้ดของคุณโปรดเตรียมพร้อมที่จะทำการปรับเปลี่ยนโค้ดเมื่อเบราว์เซอร์เวอร์ชันใหม่ออกและคำแนะนำ w3c จะเสร็จสมบูรณ์
MDN มีคำเตือนที่ชัดเจนเกี่ยวกับการใช้งาน-webkit-appearance
บนเว็บ:
ห้ามใช้พร็อพเพอร์ตี้นี้บนเว็บไซต์: ไม่เพียง แต่จะไม่ได้มาตรฐานเท่านั้น แต่ยังเปลี่ยนพฤติกรรมจากเบราว์เซอร์หนึ่งไปยังอีกเบราว์เซอร์ แม้แต่คำหลักnone
ก็มีลักษณะการทำงานที่ไม่เหมือนกันในแต่ละองค์ประกอบของฟอร์มในเบราว์เซอร์ที่แตกต่างกันและบางคำก็ไม่รองรับเลย
คำบรรยายสำหรับการสาธิตตัวเลื่อนแนวตั้งในเอกสาร IEระบุอย่างไม่ถูกต้องว่าการตั้งค่าความสูงที่มากกว่าความกว้างจะแสดงแถบเลื่อนช่วงในแนวตั้ง แต่ไม่ได้ผล ในส่วนของรหัสwriting-mode
มันชัดถ้อยชัดคำไม่สูงไม่ได้ตั้งค่าหรือความกว้างและแทนที่จะใช้ writing-mode
คุณสมบัติเป็นดำเนินการโดย IEเป็นที่แข็งแกร่งมาก น่าเศร้าที่ค่าที่กำหนดไว้ในร่างการทำงานปัจจุบันของข้อมูลจำเพาะขณะที่เขียนนี้มีข้อ จำกัด กว่ามาก หากเวอร์ชันในอนาคตของ IE ลดลงสนับสนุนbt-lr
ตามที่เสนอในปัจจุบันvertical-lr
(ซึ่งจะเทียบเท่าtb-lr
) แถบเลื่อนจะแสดงกลับหัว เป็นไปได้มากว่าเวอร์ชันในอนาคตจะขยายไฟล์writing-mode
เพื่อยอมรับค่าใหม่แทนที่จะปล่อยการสนับสนุนสำหรับค่าที่มีอยู่ แต่ควรรู้ว่าคุณกำลังทำอะไรอยู่
-webkit-appearance
- ฉันไม่รู้ มันเปลี่ยนแปลงทุกอย่าง