오버 플로우 랩과 단어 분리의 차이점은 무엇입니까?


87

What's 사이의 정확한 차이 overflow-wrap/ word-wrapword-break? 그리고 누구든지 아주 긴 링크를 끊는 데 더 좋은 것이 무엇인지 말해 줄 수 있습니까? 대부분의 사람들은 단어 분리를와 함께 사용해야한다고 말하지만 overflow-wrap그다지 논리적으로 보이지는 않습니다. 더 나은 크로스 브라우저 지원 overflow-wrapword-wrap위해 와 함께 사용 하는 것이 가장 좋은 방법 이라고 생각 합니다. 어떻게 생각해?


6
이것이 중복 질문으로 종결 된 이유에 대해 처음에 혼란 스러울 수있는 미래의 독자들에게. CSS 텍스트 모듈 레벨 3 상태 overflow-wrapword-wrap기능 100 % 동일해야합니다. 개인적 word-wrap으로 레거시 브라우저 지원에만 사용해야하고 향후 CSS 버전에서 더 이상 사용되지 않거나 삭제 될 수 있다는 인상을 받았습니다 .
Tyler Crompton 2016 년

23
이것을 종결하기로 투표 한 사람들에게 : 이것은 명시된 것과 같은 중복이 아니며 질문은 동일하지 않습니다. 중복 주장은 두 속성의 두 가지 특정 값에 대한 것이며이 질문은 두 속성에 대한 것입니다. 나는 어떤 사람들이 다른 사람들이 질문에 대답하는 것을 금지 할 권리가 있다고 믿는 것을 정말 싫어합니다. 질문이 마음에 들지 않으면 읽지 마십시오!
Hibou57

3
@Tyler 크롬 턴 당신은 혼동 word-wrapword-break
catamphetamine

1
나는 Hibou57에 동의합니다. 이것은 중복이 아닙니다. 이 질문에 대한 답변을 온라인으로 찾기가 어려우므로 문을 닫았습니다.
Paul-Hebert

@TylerCrompton이 질문은에 관한 것이 아닙니다 word-wrap. 약 word-break입니다. 이 질문을 중복 질문으로 닫는 것은 의미가 없습니다.
론 학습자

답변:


67

출처에서 인용

  • 단어 줄 바꿈 : 단어 줄 바꿈 CSS 속성은 분리 할 수없는 문자열이 너무 길어 포함 상자에 맞지 않을 때 오버플로를 방지하기 위해 브라우저가 단어 내에서 줄을 끊을 수 있는지 여부를 지정하는 데 사용됩니다.

  • overflow-wrap : CSS3 텍스트 사양의 현재 초안에서 word-wrap속성 이름이 변경 overflow-wrap되었습니다.

  • 단어 분리 : 단어 분리 CSS 속성은 단어 내에서 줄을 분리하는 방법 (또는 경우)을 지정하는 데 사용됩니다.

따라서 올바른 조합 인 단어 줄 바꿈과 함께 단어 분리가 필요합니다.


예, word-wrap충분하지만 컨테이너 너비가 제한되면 레이아웃이 엉망이 될 수 있습니다.
karthikr

그래 알았어. 링크에만 자동 줄 바꿈을 사용하므로 레이아웃이 깨지지 않습니다.
Anselm

7
답변을 찾았습니다. "이에 대해 설명하는 W3 사양은 word-break : break-all이 CJK 텍스트에서 특정 동작을 요구하는 반면, word-wrap : break-word는 더 일반적인 비 CJK- 인식, 행동. " ( stackoverflow.com/questions/1795109/… ) CJK는 중국어, 일본어 및 한국어의 총칭입니다.
Anselm

오. 그러나 나는 당신의 질문이 완전히 다르다고 생각했습니다. 어쨌든, 내가 도움이 조금 있었다 기쁘다 당신은 답을 발견, 나는 신뢰
karthikr

4
단어 줄 바꿈은 (대부분의 브라우저에서 접두사가없는 속성으로 구현 된 경우에도) 더 이상 사용되지 않는 Microsoft 확장이며 이제 오버플로 줄 바꿈으로 대체되었습니다. : MDN은 하나 하나에 두 개의 서로 다른 페이지를 합병 developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap
CharlesM

8

이 시점에서이 word-break: break-word실제로 overflow-wrap: anywhere.

word-break: break-word공식적으로 사용되지 않습니다. CSS 텍스트 모듈 레벨 3 작업 초안을 참조하십시오 .

레거시 콘텐츠와의 호환성을 위해이 word-break속성은 더 이상 사용되지 않는 break-word키워드 도 지원 합니다. 지정된 경우,이 같은 효과를 갖는다 word-break: normaloverflow-wrap: anywhere관계없이 오버플 랩 속성의 실제 값.

여기서주의 할 점은이 word-break: break-word별칭입니다 overflow-wrap: anywhere, NOT 별명에 대한overflow-wrap: break-word .

( word-break: normal는의 기본값 일 뿐이 word-break므로에 대해 다른 값을 설정하지 않는 한 무시해도됩니다.word-break .)

어떻게 overflow-wrap: anywhere그리고overflow-wrap: break-word 다른가요?

둘 사이의 문서에서 유일한 차이점 overflow-wrap: anywhere은 "최소 내용 고유 크기를 계산"할 때 "단어 나누기에서 도입 된 소프트 랩 기회를 고려"하는 반면 overflow-wrap: break-word그렇지 않다는 것입니다.

나는 그것을 고려한다면 어떤 경우에는 너비가 더 정확할 것이라고 생각합니까?


7

정확한 차이점은 다음과 같습니다. (Chrome v81에서 테스트하고 사양을 참조하여 관찰 내용을 확인한 결과)

공백

normal(기본값) : 공백 체인 및 줄 바꿈을 축소합니다. 필요한 곳에 줄 바꿈을 추가합니다
nowrap: 공백 체인과 줄 바꿈을 축소합니다. 줄 바꿈을 추가하지 않음
pre-line: 공백 체인을 축소합니다. 필요한 곳에 줄 바꿈을 추가합니다
pre-wrap. 필요한 곳에 줄 바꿈 추가 : 줄 바꿈 추가
break-spaces를 트리거 할 수있는 공백을 제외하고 사전 줄 바꿈 과 동일
pre: 축소 없음; 줄 바꿈을 추가하지 않습니다

참고 : 선택한 white-space값에 "줄 바꿈 추가 안 함"이 나열되면 다음 속성의 줄 바꿈 동작을 적용 할 수 없습니다 (즉, 무시 됨).

단어 나누기

normal(기본값) : 컨테이너 내 마지막 단어 맞춤의 끝에서 줄을 끊습니다 [존재하는 경우], 그렇지 않으면 줄이 끊기지 않은 채로 남음
break-word: 컨테이너 내에서 마지막 단어 맞춤의 끝에서 줄을 끊습니다 [존재하는 경우], 그렇지 않으면 컨테이너의 끝
break-all에서 줄을 끊습니다. 컨테이너의 끝 [가까운 공백이 있어도 단어를 분할 할 수 있음]

overflow-wrap (레거시 이름 : word-wrap)

normal(기본값) : 컨테이너 내 마지막 단어 맞춤의 끝에서 줄을 끊습니다 [존재하는 경우], 그렇지 않으면 줄이 끊기지 않은 상태로 남음
break-word: 컨테이너 내 마지막 단어 맞춤의 끝에서 줄을 끊습니다 [존재하는 경우], 그렇지 않으면 컨테이너의 끝에서 줄을 끊습니다. -flex container], else line left unbroken
anywhere: 컨테이너 내 마지막 단어의 끝에서 줄을 끊고 [존재하는 경우] 그렇지 않으면 컨테이너 끝에서 줄을 끊습니다 word-break: break-word.

주 동안 그 overflow-wrap: break-word, 파손되지 않는 선 플렉스 컨테이너가 지정한 플렉스 비율 이상으로 확장 될 수 있습니다 (너무 오래 컨테이너 잎 라인이 있음을 어떤 조합으로) (다른 플렉스 컨테이너를 강요하는 것은 너무 긴 내용을 설명하기 축소하기).


"문서 기반"이라고 말한 사실을 바탕으로이 콘텐츠가 대부분 어딘가에서 복사되었다고 가정합니다. 그래서 일반적으로 다른 곳에서 순수한 콘텐츠 사본 인 콘텐츠에 눈살을 찌푸 리지만, 표절을 피하기 위해 콘텐츠를 복사 할 때 출처 인용 해야합니다 . 또한 Chrome에서의 테스트는 사양이 말하는 방식을 준수하는지 여부에 대한 소스로서 거의 신뢰할 수 없습니다.
TylerH

1
@TylerH 다른 곳에서는 순수한 콘텐츠 사본이 아닙니다. 대부분의 동작 설명은 제가 관찰 한 동작이 사양과 일치하는지 확인하고 추가 동작이 누락되지 않았는지 확인하기 위해 문서 페이지를 참조하여 Chrome에서 직접 테스트 한 것입니다. 표절과는 거리가 멀다. (명확하게하기 위해 상단의 메모를 업데이트하겠습니다)
Venryx

모든 것을 정말로 이해하고 싶어하는 진정으로 진지하고 참을성있는 독자에게 이것이 최선의 대답입니다. 정말 고마워.
ZYinMD
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.