Za każdym razem, gdy opracowuję nowy formularz, który zawiera a textarea
, mam następujący dylemat, gdy muszę określić jego wymiary:
Użyj CSS lub użyj textarea
atrybutów cols
i rows
?
Jakie są zalety i wady każdej metody?
Jaka jest semantyka używania tych atrybutów?
Jak to zwykle się robi?
line-height
dla wysokości obszaru tekstowego.Spowoduje to, że przeglądarka ustawi DOKŁADNIE wysokość pola tekstowego na liczbę wierszy plus obicia wokół niego. Ustawienie wysokości CSS na dokładną liczbę pikseli pozostawia dowolne białe spacje.
źródło
height: auto;
w CSS wcale nie wpływa na mój obszar tekstowy.Zgodnie z w3c, kolumny i wiersze są wymaganymi atrybutami dla obszarów tekstowych. Wiersze i Cole to liczba znaków, które zmieszczą się w obszarze tekstowym, a nie w pikselach lub innej potencjalnie dowolnej wartości. Idź z wierszami / cols.
źródło
Odpowiedź brzmi tak". Oznacza to, że powinieneś używać obu. Bez wierszy i cols (i istnieją wartości domyślne, nawet jeśli nie używasz ich jawnie), obszar tekstowy jest wyjątkowo mały, jeśli CSS jest wyłączony lub zastąpiony przez arkusz stylów użytkownika. Zawsze miej na uwadze problemy z dostępnością. Biorąc to pod uwagę, jeśli Twój arkusz stylów może kontrolować wygląd obszaru tekstowego, na ogół skończysz z czymś, co wygląda o wiele lepiej, pasuje do ogólnego projektu strony i który może zmienić rozmiar, aby nadążyć za wprowadzaniem przez użytkownika ( oczywiście w granicach dobrego smaku).
źródło
Dla obszaru tekstowego możemy użyć poniżej css, aby naprawić rozmiar
Testowane w angularjs i angular7
źródło
źródło
Rozmiar pola tekstowego można określić za pomocą atrybutów cols i row, a nawet lepiej; poprzez właściwości wysokości i szerokości CSS. Atrybut cols jest obsługiwany we wszystkich głównych przeglądarkach. Jedną z głównych różnic jest to, że
<TEXTAREA ...>
jest to znacznik kontenerowy: ma tag początkowy ().źródło
I zazwyczaj nie precyzują
height
, ale nie określiłwidth: ...
irows
icols
.Zwykle w moich przypadkach tylko
width
irows
są potrzebne, aby obszar tekstowy wyglądał ładnie w stosunku do innych elementów. (Icols
jest rezerwą, jeśli ktoś nie używa CSS, jak wyjaśniono w innych odpowiedziach).((Podając oba
rows
iheight
wydaje mi się, że to trochę jak powielanie danych?))źródło
Główną cechą obszarów tekstowych jest to, że można je rozszerzać. Na stronie internetowej może to spowodować pojawienie się pasków przewijania w obszarze tekstowym, jeśli długość tekstu zapełni się na ustawionej przestrzeni (czy to przy użyciu wierszy, czy przy użyciu CSS. Może to być problem, gdy użytkownik zdecyduje się wydrukować, szczególnie z „drukuj” do formatu PDF - ustaw więc komfortowo dużą wysokość minimalną dla drukowanych obszarów tekstowych z warunkową zasadą CSS:
źródło
jeśli nie używasz za każdym razem, użyj wysokości linii: „..”; właściwość jego kontrola wysokość pola tekstowego i szerokość właściwość szerokości pola tekstowego.
lub możesz użyć rozmiaru czcionki, wykonując css:
źródło
Wiersze i kolory HTML nie reagują!
Więc określam rozmiar w CSS. Wskazówka: jeśli określisz mały rozmiar telefonu komórkowego, pomyśl o jego użyciu
textarea:focus {};
Dodaj tutaj trochę dodatkowej przestrzeni, która pojawi się dopiero w momencie, gdy użytkownik zechce coś napisać
źródło
CSS
HTML
źródło