การซ่อนจุดจับปรับขนาด textarea ใน Safari


97

ฉันใช้คอมโพเนนต์ textarea ในแอปพลิเคชันของฉันและฉันควบคุมความสูงแบบไดนามิก เมื่อผู้ใช้พิมพ์ความสูงจะเพิ่มขึ้นทุกครั้งที่มีข้อความเพียงพอ ใช้งานได้ดีบน IE, Firefox และ Safari

อย่างไรก็ตามใน Safari มีเครื่องมือ "ที่จับ" ที่ด้านขวาล่างซึ่งช่วยให้ผู้ใช้สามารถปรับขนาดพื้นที่ข้อความได้โดยคลิกและลาก ฉันยังสังเกตเห็นปัญหานี้กับ textarea ในหน้าถามคำถาม stackoverflow เครื่องมือนี้สร้างความสับสนและโดยทั่วไปแล้วจะเข้ามาขวางทาง

ดังนั้นจะมีการซ่อนแฮนเดิลปรับขนาดนี้หรือไม่?

(ฉันไม่แน่ใจว่า "ด้ามจับ" เป็นคำที่ถูกต้องหรือไม่ แต่ฉันคิดคำศัพท์ที่ดีกว่านี้ไม่ได้)

คำตอบ:


178

คุณสามารถแทนที่พฤติกรรมการปรับขนาดด้วย CSS:

textarea
{
   resize: none;
}

หรือเพียงแค่

<textarea style="resize: none;">TEXT TEXT TEXT</textarea>

คุณสมบัติที่ถูกต้อง ได้แก่ ทั้งแนวนอนแนวตั้งไม่มี


22
ไม่เกี่ยวข้องอย่างเคร่งครัดในที่นี้ แต่ Safari ยังให้ความสำคัญกับคุณสมบัติ CSS ความสูงต่ำสุดความสูงสูงสุดความกว้างต่ำสุดและความกว้างสูงสุดเพื่อให้เปิดใช้งานการปรับขนาดได้ แต่จะ จำกัด ว่าจะปรับขนาดได้ไกลเพียงใด
stevemegson

1
ขอบคุณ! กำลังจะถามคำถามเดียวกันนี้ :)
อเล็กซ์

จะเกิดอะไรขึ้นถ้าฉันต้องการให้แสดงโฮเวอร์หลังจากตั้งค่าการปรับขนาดแล้ว: ไม่มี
Michael Forrest

@ Michael Forrest: คุณลอง textarea แล้วหรือยัง: hover {resize: inherit! important; }? ฉันยังไม่เคยลองแค่เดา
Tamas Czinege

7
ข้อแม้ประการหนึ่ง: การไม่อนุญาตให้ผู้ใช้ปรับขนาด<textarea>เลยอาจเป็นปัญหาในการใช้งาน การตั้งค่าresize:vertical;มักเป็นตัวเลือกที่ดีกว่า ไม่ควรทำให้เค้าโครงของคุณยุ่งเหยิงและทำให้ผู้ใช้สามารถควบคุมได้มากขึ้น
Web_Designer

2

ใช้กฎ CSS ต่อไปนี้เพื่อปิดใช้งานลักษณะการทำงานนี้สำหรับTextAreaองค์ประกอบทั้งหมด:

textarea {
    resize: none;
}

หากคุณต้องการปิดการใช้งานสำหรับTextAreaองค์ประกอบบางอย่าง (แต่ไม่ใช่ทั้งหมด) คุณมีสองตัวเลือก (ขอบคุณหน้านี้ )

หากต้องการปิดใช้งานเฉพาะTextAreaด้วยnameแอตทริบิวต์ที่ตั้งค่าเป็นfoo(เช่น<TextArea name="foo"></TextArea>):

textarea[name=foo] {
    resize: none;
}

หรือใช้ ID (เช่น<TextArea id="foo"></TextArea>):

#foo {
    resize: none;
}

โปรดทราบว่าสิ่งนี้เกี่ยวข้องกับเบราว์เซอร์ที่ใช้ WebKit เท่านั้น (เช่น Safari และ Chrome) ซึ่งเพิ่มจุดจับปรับขนาดในTextAreaการควบคุม


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