Tôi muốn vô hiệu hóa tài sản có thể thay đổi kích thước của a textarea
.
Hiện tại, tôi có thể thay đổi kích thước a textarea
bằng cách nhấp vào góc dưới bên phải của textarea
và kéo chuột. Làm thế nào tôi có thể vô hiệu hóa điều này?
Tôi muốn vô hiệu hóa tài sản có thể thay đổi kích thước của a textarea
.
Hiện tại, tôi có thể thay đổi kích thước a textarea
bằng cách nhấp vào góc dưới bên phải của textarea
và kéo chuột. Làm thế nào tôi có thể vô hiệu hóa điều này?
Câu trả lời:
Quy tắc CSS sau đây vô hiệu hóa thay đổi kích thước hành vi cho textarea
các thành phần:
textarea {
resize: none;
}
Để vô hiệu hóa nó cho một số (nhưng không phải tất cả) textarea
, có một vài tùy chọn .
Để vô hiệu hóa một cụ thể textarea
với name
thuộc tính được đặt thành foo
(nghĩa là <textarea name="foo"></textarea>
):
textarea[name=foo] {
resize: none;
}
Hoặc, sử dụng một id
thuộc tính (nghĩa là <textarea id="foo"></textarea>
):
#foo {
resize: none;
}
Các trang W3C danh sách các giá trị có thể cho thay đổi kích thước hạn chế: không có, cả, ngang, dọc, và kế thừa:
textarea {
resize: vertical; /* user can resize vertically, but width is fixed */
}
Xem lại một trang tương thích tốt để xem những trình duyệt nào hiện đang hỗ trợ tính năng này. Như Jon Hulka đã nhận xét, các kích thước có thể được hạn chế hơn nữa trong CSS bằng cách sử dụng chiều rộng tối đa, chiều cao tối đa, chiều rộng tối thiểu và chiều cao tối thiểu.
Siêu quan trọng cần biết:
Thuộc tính này không làm gì trừ khi thuộc tính tràn là thứ gì đó không nhìn thấy được, đây là mặc định cho hầu hết các phần tử. Vì vậy, nói chung để sử dụng điều này, bạn sẽ phải thiết lập một cái gì đó như tràn: cuộn;
Trích dẫn bởi Sara đối thủ, http://css-tricks.com/almanac/properIES/r/resize/
Trong CSS ...
textarea {
resize: none;
}
Tôi tìm thấy hai điều:
Đầu tiên
textarea{resize: none}
Đây là CSS 3, chưa được phát hành , tương thích với Firefox 4 (và phiên bản mới hơn), Chrome và Safari .
Một tính năng định dạng khác là để overflow: auto
thoát khỏi thanh cuộn bên phải, có tính đến thuộc tính dir .
HTML cơ bản
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<textarea style="overflow:auto;resize:none" rows="13" cols="20"></textarea>
</body>
</html>
Một số trình duyệt
CSS 3 có một thuộc tính mới cho các thành phần UI sẽ cho phép bạn làm điều này. Các tài sản là tài sản thay đổi kích thước . Vì vậy, bạn sẽ thêm phần sau vào biểu định kiểu của mình để vô hiệu hóa thay đổi kích thước của tất cả các thành phần textarea:
textarea { resize: none; }
Đây là một thuộc tính CSS 3; sử dụng biểu đồ tương thích để xem khả năng tương thích của trình duyệt.
Cá nhân, tôi sẽ thấy rất khó chịu khi thay đổi kích thước bị vô hiệu hóa trên các yếu tố textarea. Đây là một trong những tình huống mà nhà thiết kế đang cố gắng "phá vỡ" ứng dụng khách của người dùng. Nếu thiết kế của bạn không thể chứa một vùng văn bản lớn hơn, bạn có thể muốn xem xét lại cách thiết kế của bạn hoạt động. Bất kỳ người dùng nào cũng có thể thêm textarea { resize: both !important; }
vào biểu định kiểu người dùng của họ để ghi đè tùy chọn của bạn.
texarea
và cuối cùng làm cho một cái gì đó không hoạt động
<textarea style="resize:none" rows="10" placeholder="Enter Text" ></textarea>
Nếu bạn cần hỗ trợ sâu sắc, bạn có thể sử dụng một kỹ thuật trường học cũ:
textarea {
max-width: /* desired fixed width */ px;
min-width: /* desired fixed width */ px;
min-height: /* desired fixed height */ px;
max-height: /* desired fixed height */ px;
}
resize:none
với giải pháp này để ngăn chặn tay cầm xuất hiện ở góc dưới mà bực bội không hoạt động.
Điều này có thể được thực hiện trong HTML dễ dàng:
<textarea name="textinput" draggable="false"></textarea>
Điều này làm việc cho tôi. Giá trị mặc định là true
cho draggable
thuộc tính.
Để vô hiệu hóa thuộc tính thay đổi kích thước, sử dụng thuộc tính CSS sau:
resize: none;
Bạn có thể áp dụng điều này như một thuộc tính kiểu nội tuyến như vậy:
<textarea style="resize: none;"></textarea>
hoặc ở giữa <style>...</style>
các thẻ phần tử như vậy:
textarea {
resize: none;
}
Bạn chỉ cần sử dụng: resize: none;
trong CSS của bạn.
Các thay đổi kích thước quy định cụ thể tài sản hay không một yếu tố là thay đổi kích thước của người dùng.
Lưu ý: Thuộc tính thay đổi kích thước áp dụng cho các phần tử có giá trị tràn được tính toán không phải là "hiển thị".
Đồng thời thay đổi kích thước không được hỗ trợ trong Internet Explorer.
Dưới đây là các thuộc tính khác nhau để thay đổi kích thước:
Không thay đổi kích thước:
textarea {
resize: none;
}
Thay đổi kích thước cả hai cách (theo chiều dọc và chiều ngang):
textarea {
resize: both;
}
Thay đổi kích thước theo chiều dọc:
textarea {
resize: vertical;
}
Thay đổi kích thước theo chiều ngang:
textarea {
resize: horizontal;
}
Ngoài ra nếu bạn có width
và height
trong CSS hoặc HTML của mình, điều đó sẽ ngăn kích thước văn bản của bạn được thay đổi kích thước, với sự hỗ trợ trình duyệt rộng hơn.
CSS 3 có thể giải quyết vấn đề này. Thật không may, nó chỉ hỗ trợ trên 60% các trình duyệt được sử dụng hiện nay.
Đối với Internet Explorer và iOS, bạn không thể tắt thay đổi kích thước, nhưng bạn có thể giới hạn textarea
kích thước bằng cách đặt kích thước width
và height
.
/* One can also turn on/off specific axis. Defaults to both on. */
textarea { resize:vertical; } /* none|horizontal|vertical|both */
Bạn chỉ có thể vô hiệu hóa thuộc tính textarea như thế này:
textarea {
resize: none;
}
Để tắt thay đổi kích thước dọc hoặc ngang , sử dụng
resize: vertical;
hoặc là
resize: horizontal;
Tôi đã tạo một bản demo nhỏ để hiển thị cách thay đổi kích thước các thuộc tính hoạt động. Tôi hy vọng nó sẽ giúp bạn và những người khác là tốt.
.resizeable {
resize: both;
}
.noResizeable {
resize: none;
}
.resizeable_V {
resize: vertical;
}
.resizeable_H {
resize: horizontal;
}
<textarea class="resizeable" rows="5" cols="20" name="resizeable" title="This is Resizable.">
This is Resizable. Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. The passage is attributed to an unknown typesetter in the 15th century who is thought to have scrambled parts of Cicero's De Finibus Bonorum et Malorum for use in a type specimen book.
</textarea>
<textarea class="noResizeable" rows="5" title="This will not Resizable. " cols="20" name="resizeable">
This will not Resizable. Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. The passage is attributed to an unknown typesetter in the 15th century who is thought to have scrambled parts of Cicero's De Finibus Bonorum et Malorum for use in a type specimen book.
</textarea>
<textarea class="resizeable_V" title="This is Vertically Resizable." rows="5" cols="20" name="resizeable">
This is Vertically Resizable. Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. The passage is attributed to an unknown typesetter in the 15th century who is thought to have scrambled parts of Cicero's De Finibus Bonorum et Malorum for use in a type specimen book.
</textarea>
<textarea class="resizeable_H" title="This is Horizontally Resizable." rows="5" cols="20" name="resizeable">
This is Horizontally Resizable. Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. The passage is attributed to an unknown typesetter in the 15th century who is thought to have scrambled parts of Cicero's De Finibus Bonorum et Malorum for use in a type specimen book.
</textarea>
Với @style
, bạn có thể cung cấp cho nó một kích thước tùy chỉnh và vô hiệu hóa tính năng thay đổi kích thước (resize: none;)
.
@Html.TextAreaFor(model => model.YourProperty, new { @style = "width: 90%; height: 180px; resize: none;" })
Bạn cũng có thể thử với jQuery
$('textarea').css("resize", "none");
Để tắt thay đổi kích thước cho tất cả textarea
s:
textarea {
resize: none;
}
Để vô hiệu hóa thay đổi kích thước cho một cụ thể textarea
, thêm một thuộc tính name
hoặc một id
và đặt nó thành một cái gì đó. Trong trường hợp này, nó được đặt tênnoresize
<textarea name='noresize' id='noresize'> </textarea>
/* Using the attribute name */
textarea[name=noresize] {
resize: none;
}
/* Or using the id */
#noresize {
resize: none;
}
Thêm !important
làm cho nó hoạt động:
width:325px !important; height:120px !important; outline:none !important;
outline
chỉ là để tránh các phác thảo màu xanh trên các trình duyệt nhất định.
!important
thuộc tính. Vô nghĩa để sửa chiều rộng và chiều cao nếu thuộc tính CSS resize: none
có thể loại bỏ tính năng thay đổi kích thước
!important
ác không?