2009-02-25 36 views
90

Tôi đang sử dụng các thành phần văn bản trong ứng dụng của mình và tôi kiểm soát chiều cao của chúng theo cách động. Khi người dùng nhập, chiều cao được tăng lên bất cứ khi nào có đủ văn bản. Điều này hoạt động tốt trên IE, Firefox và Safari.Ẩn bảng điều khiển thay đổi kích thước văn bản trong Safari

Tuy nhiên, trong Safari, có công cụ "xử lý" ở phía dưới bên phải cho phép người dùng thay đổi kích thước vùng văn bản bằng cách nhấp và kéo. Tôi cũng nhận thấy vấn đề này với textarea trong stackoverflow Ask a Question page. Công cụ này là khó hiểu và về cơ bản được trong cách.

Vì vậy, có cách nào để ẩn điều khiển đổi kích thước này không?

(Tôi không chắc chắn nếu "xử lý" là từ chính xác, nhưng tôi không thể nghĩ ra một thuật ngữ tốt hơn.)

Trả lời

164

Bạn có thể ghi đè lên các hành vi thay đổi kích thước với CSS:

textarea 
{ 
    resize: none; 
} 

hoặc chỉ đơn giản là

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

tính hợp lệ là: cả hai, ngang, dọc, không ai

+22

Không có liên quan chặt chẽ ở đây, nhưng Safari cũng tôn trọng các thuộc tính CSS chiều cao, chiều cao tối đa, chiều rộng tối thiểu và chiều rộng tối đa để kích hoạt lại kích thước nhưng đặt giới hạn về khoảng cách có thể thay đổi kích thước. – stevemegson

+1

Cảm ơn bạn! Đã sắp hỏi câu hỏi tương tự này :) – alex

+0

Nếu tôi muốn hiển thị nó khi di chuột sau khi tôi đã đặt lại kích thước: không có gì? –

2

Sử dụng các quy tắc CSS sau đây để vô hiệu hóa hành vi này cho tất cả TextArea yếu tố:

textarea { 
    resize: none; 
} 

Nếu bạn muốn vô hiệu hóa nó cho một số (nhưng không phải tất cả) TextArea yếu tố, bạn có một số tùy chọn (nhờ this page).

Để vô hiệu hóa một cụ TextArea với name thuộc tính thiết lập để foo (ví dụ, <TextArea name="foo"></TextArea>):

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

Hoặc, sử dụng một ID (ví dụ, <TextArea id="foo"></TextArea>):

#foo { 
    resize: none; 
} 

Lưu ý rằng điều này chỉ có liên quan cho các trình duyệt dựa trên WebKit (tức là Safari và Chrome), thêm trình điều khiển đổi kích thước vào các điều khiển TextArea.

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