2012-05-24 5 views

답변

1

1 행만 표시하려면 rows = 1을 사용하십시오. 당신은 당신은 1

여러

+0

이미 완료했지만 멀티 라인은 여전히 ​​작동 중입니다. – tesicg

+0

testarea의 주요 사용은 한 줄에 텍스트 상자를 사용하려는 경우 여러 줄의 데이터를 가지는 것입니다. – Zlatan

1

에서 더 자세한 정보를 얻을 수있는 colsrows 속성을 사용하고 CSS에서 크기를 조절할 수 없도록 설정하지만 사용자가 두 줄 이상을 추가 할 수는 없습니다. 영역이 너무 작아도 스크롤바가 나타나서 원하는만큼 많은 행을 쓸 수 있습니다.

실제로 한 줄만 가져 오려면 rows 특성을 1로 설정하고 입력에 Javascript가있는 단일 행이 있는지 확인하는 것이 좋습니다. HTML에서

:

<textarea name="a" cols="5" rows="1" ></textarea> 

CSS에서 : 아직도

textarea{ 
    resize: none; 
    #You can use resize: horizontal if you just want to disable vertical resize 
} 

, 나는 <input type="text" ... /> 왜 당신이 그것을 피하려고합니까 사용하는 것이 좋습니다 것?

9

당신은 사용하여 텍스트 영역의 크기를 설정할 수 있습니다을 해제 할 수 없습니다에 rows 속성을 설정할 수 있습니다이 link

+5

이것은 OP의 유스 케이스는 아니지만 기본 리치 단일 행 입력을 작성할 때이 문제에 부딪혔습니다 (텍스트 상자 내에서 특정 단어 또는 단어 그룹의 스타일을 허용). 이를 위해 스타일이 지정된 div를'pointer-events : none; '으로 겹쳐 봤습니다. 스크롤의 입력과 동기화되도록 (사용자가 가장자리를 벗어날 때) 스크롤 이벤트를 수신해야합니다. 불행하게도, 텍스트 영역 만이 발사 할 것이다 (입력 거부). 따라서이 경우 입력을 피해야합니다. –

+0

이것은 더 이상 작동하지 않는 것 같습니다. https://jsfiddle.net/73prdyze/ –

+0

@NicolaeSurdu 어떻게 그렇게됩니까? 당신이 연결 한 바이올린은 내가 설명한대로 정확하게 작동하는 것 같습니다. Chrome 및 Edge 이상. – toniedzwiedz

-2

다음 jQuery 스 니펫은 텍스트 영역을 강제로 한 줄에 표시합니다.

$(document).ready(function(){ 
    $('textarea').each(function(){$(this).attr('rows', 1);}); 
    }); 
당신은 텍스트 영역에 다음 CSS를 적용 한 후 다른 답변이 제안처럼 <textarea>에 설정 rows="1"하여 한 줄에 모든 텍스트를 유지하고 있습니다
5

:

resize: none; 
white-space: nowrap; 
overflow-x: scroll; 

이를 CSS는 단일 행이 줄 바꿈되는 것을 방지하면서 스크롤 바를 제공하여 표시 영역을 오버 플로우하는 텍스트를 탐색함으로써 전체 행을 계속 볼 수 있도록합니다.

+1

경고 : 'white-space : nowrap'를 사용하는 경우에도 1 줄에 모든 내용이 표시됩니다 ('rows = "1"'또는 그 밖의 경우), 사용자가 텍스트 상자에 입력 할 수있는 모든 문자를 표시합니다.이 문자는 표시되지 않는 캐리지 리턴을 포함합니다. – cusman

관련 문제