텍스트를 HTML로 줄 바꿈하는 방법은 무엇입니까?


185

같은 방법 텍스트 수 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa있는이의 폭을 초과 div(말을 200px) 싸서?

CSS, jQuery 등과 같은 모든 종류의 솔루션에 개방되어 있습니다.

답변:


240

이 시도:

div {
    width: 200px;
    word-wrap: break-word;
}

1
내가 잘못했거나 단어 줄 바꿈이 CSS3 소유입니까?
Gab Royer

13
CSS3이지만 IE5.5를 포함한 거의 모든 주류 브라우저에서 작동합니다.-> 9-caniuse.com/#search=word-wrap
Jon Hadley

32
줄 바꿈시 : break-word; 작동하지 않습니다 단어 분리 : break-all; / * 이것은 살인자입니다 * /
redochka

@redochka 그러나 word-break: break-all;일반 텍스트에서 다음 단어를 사용하면 중간에 단어가 나옵니다.
pawamoy 2016 년

5
중요 : 그것은이 word-break: break-all아니라 word-wrap: break-all. 쉬운 실수
Simon_Weaver

58

부트 스트랩 3에서 공백이 'nowrap'으로 설정되어 있지 않은지 확인하십시오.

div {
  width: 200px;
  word-break: break-all;
  white-space: normal;
}

큰. Twitter Bootstrap 3 패널 본문에서 word-break : break-all을 사용하려고 시도했지만 작동하지 않았습니다. 공백 : 정상을 추가하면 해결되었습니다.
coolboyjules

5
좋아, 나도 white-space: normal;일하기 전에 필요했다.
radbyx

56

다음과 같이 부드러운 하이픈을 사용할 수 있습니다.

aaaaaaaaaaaaaaa­aaaaaaaaaaaaaaa

이것은 다음과 같이 나타납니다

aaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaa

상자가 충분히 크지 않은 경우

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

만약 그렇다면.


18
그러나 어디에 넣을지 어떻게 알 수 ­있습니까?
코스타스

그것들은 분리 될 수있는 긴 단어로 넣습니다. 적절한 사전에서 해당 정보를 자동으로 얻을 수도 있습니다.
Kim Stebel

4
그러나 예제의 것과 같은 횡설수설은 어떻습니까? 그것은 설정하려면 '확인'인가 aaaaaa...aaaaaa­a­a­a­a­a­a...a­a­a­a?
코스타스

19
정확히 내가 찾던 것. ;-)까지해야 할 일이 너무 부끄럽다는 것을 좋아합니다.
w00t

3
줄 바꿈 할 단어가 overly.long.java.package.name이거나 점이 많은 유사한 문자열 인 경우 올바르게 작동합니다. 그런 다음 & shy; 각 점 뒤에.
dokaspar

28
   div {
    // set a width
    word-wrap: break-word
}

' word-wrap'솔루션은 IE와 브라우저가 지원하는 작품 CSS3.

가장 좋은 크로스 브라우저 솔루션은 서버 측 언어 (php 또는 무엇이든)를 사용하여 긴 문자열을 찾아서 일정한 간격으로 html 엔티티 안에 배치하는 것입니다. html 엔티티이 엔티티 ​ 는 긴 단어를 멋지게 나누고 모든 브라우저에서 작동합니다.

예 :

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa​aaaaaaaaaaaaaaaaaaaaaaaaaaaaa

8
하지만 다음 텍스트를 복사 곳에 붙여 넣기 할 때, 당신은 중간에 임의의 유니 코드 문자해야합니다 "정기적으로 html로 엔티티 # 8203 그들 내부의 장소"
user102008

9

단어에 공백이없는 경우 (예 : 긴 URL) IE, Firefox, chrome, safari 및 opera에서 작동하는 유일한 것은 다음과 같습니다.

div{
    width: 200px;  
    word-break: break-all;
}

나는 이것이 방탄임을 알았습니다.


9

이것은 나를 위해 일했다

word-wrap: normal;
word-break: break-all;
white-space: normal;
display: block;
height: auto;
margin: 3px auto;
line-height: 1.4;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;

6

다른 옵션도 사용하고 있습니다 :

div
{
   white-space: pre-line;
}

이렇게하면 CSS1 을 지원하는 모든 브라우저에서 모든 div 요소가 설정 됩니다 (IE 8까지는 거의 모든 공통 브라우저 임)


당신이있는 경우 <pre>요소를 사용하면 줄 바꿈이 작품을 갖고 싶어 word-break하거나 word-wrap하지 않습니다.
명왕성

4

크로스 브라우저

.wrap
{
    white-space: pre-wrap; /* css-3 */    
    white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
    white-space: -pre-wrap; /* Opera 4-6 */    
    white-space: -o-pre-wrap; /* Opera 7 */    
    word-wrap: break-word; /* Internet Explorer 5.5+ */
}

2

이 CSS를 단락에 추가하십시오.

style="width:420px; 
min-height:15px; 
height:auto!important; 
color:#666; padding: 1%; 
font-size: 14px; 
font-weight: normal;
word-wrap: break-word; 
text-align: left" 

2
나는 text-overflow:ellipsis다음 사람만큼 좋아 하지만이 질문에 대한 정답은 아닙니다. 그는 오버랩을 자르지 말고 줄 바꿈을 찾고 있습니다.
Spudley

1

CSS 트릭의 예 :

div {
    -ms-word-break: break-all;

    /* Be VERY careful with this, breaks normal words wh_erever */
    word-break: break-all;

    /* Non standard for webkit */
    word-break: break-word;

    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}

더 많은 예제는 여기에 있습니다 .


0

나를 위해 작동하는 서버 측 솔루션은 다음과 같습니다. $message = wordwrap($message, 50, "<br>", true);여기서 $message단어 / 문자가 포함 된 문자열 변수가 있습니다. 50은 주어진 세그먼트의 최대 길이이며 "<br>"매 50 문자마다 삽입 할 텍스트입니다.


4
문자 너비의 50 배가 필요한 최대 200px를 초과하면이 솔루션이 작동하지 않습니다. 브라우저의 확대 / 축소 기능 만 사용하면 결국 깨질 것입니다 ...
dokaspar

0

이 시도

div{
  display: block;
  display: -webkit-box;
  height: 20px;
  margin: 3px auto;
  font-size: 14px;
  line-height: 1.4;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

text-overflow 속성 : ellipsis add ... 및 line-clamp는 줄 수를 나타냅니다.


0

HTML 본문에서 다음을 시도하십시오.

<table>
    <tr>
        <td>
            <div style="word-wrap: break-word; width: 800px">
                Hello world, how are you? More text here to see if it wraps after a long while of writing and it does on Firefox but I have not tested it on Chrome yet. It also works wonders if you have a medium to long paragraph. Just avoid writing in the CSS file that the words have to break-all, that's a small tip.
            </div>
        </td>
    </tr>
</table>

CSS 본문에서 다음을 시도하십시오.

background-size: auto;

table-layout: fixed;


0

부트 스트랩을 사용했습니다. 내 HTML 코드는 ..

<div class="container mt-3" style="width: 100%;">
  <div class="row">
    <div class="col-sm-12 wrap-text">
      <h6>
        text content
      </h6>
    </div>
  </div>
</div>

CSS

.wrap-text {
     text-align:justify;
}

부트 스트랩에는 text-justify클래스가 있으므로 대신 사용할 수 있습니다..wrap-text
barbsan



-2

word-wrap:break-word필요한 너비와 함께 속성을 사용하십시오 . 주로 너비가 아닌 백분율로 픽셀 단위로 입력 하십시오.

width: 200px;
word-wrap: break-word;

14
이것은 위의 답변과 동일합니다. 왜 귀찮게?
trgraglia
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.