“& nbsp;”의 차이점은 무엇입니까 그리고 “”? 의미하지만 차이점이 있습니까?

둘 다 공간을 의미하지만 차이점이 있습니까?



답변

하나는 속하지 않는 공간 이고 다른 하나는 일반 공간입니다. 줄 바꿈이없는 공간은 단어 중간에 줄 바꿈이되지 않는 것처럼 해당 지점에서 줄을 줄 바꿈하지 않아야한다는 의미입니다.

또한 Svend가 그의 의견에서 지적했듯이, 비 공백 공간은 축소되지 않습니다.


답변

이 엔터티  는 비 분리 공간을 생성하며,이 위치에서 자동 줄 바꿈을 원하지 않을 때 사용됩니다. 일반 공간에는 문자 코드 32가 있고, 비 공백 공간에는 문자 코드 160이 있습니다.

예를 들어, 공백이있는 숫자를 천 단위 구분 기호 : 1 234 567로 표시 할 경우 숫자를 별도의 줄로 나눌 수 없도록 끊지 않는 공백을 사용합니다. 통화를 표시하고 금액과 통화 사이에 공백이있는 경우 : 42 SEK, 한 줄에 금액을 가져 오지 않고 다음 줄에 통화를 얻지 않도록 비 공백 공백을 사용합니다.


답변

여기의 다른 답변 외에도 일반 공간과 같이 비 분리 공간은 “축소”되지 않습니다. 예를 들어

<p>Word1          Word2</p>

<p>Word1 Word2</p>

모든 브라우저에서 동일하게 렌더링됩니다.

<p>Word1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Word2</p>

렌더링 될 때 공백을 유지합니다.


답변

예만큼 대답이 아닙니다 …

예 # 1 :

<div style="width:45px; height:45px; border: solid thin red; overflow: visible">
    Hello&nbsp;There
</div>  

예 # 2 :

<div style="width:45px; height:45px; border: solid thin red; overflow: visible">
    Hello There
</div>

그리고 바이올린에 연결하십시오 .


답변

여기에 실제 예제가 있습니다.

http://codepen.io/anon/pen/GJzBxo

http://codepen.io/anon/pen/LVqBQo

같은 div, 같은 텍스트, 다른 “공백”

<div style="width: 500px; background: red"> [loooong text with spaces]</div>

vs

<div style="width: 500px; background: red"> [loooong text with &nbsp;]</div>


답변

여러 일반 공백 문자 (공백, 표 및 줄 바꿈)는 하나의 공백 문자로 처리됩니다 .

를 제외한 모든 HTML 요소의 경우 PRE공백 시퀀스는 “단어”를 분리합니다 (여기서는 “단어가 아닌 공백 문자의 순서”를 의미하기 위해 “단어”라는 용어를 사용합니다). 텍스트를 형식화 할 때 사용자 에이전트는 이러한 단어를 식별하고 특정 서면 언어 (스크립트) 및 대상 매체의 규칙에 따라 배치해야합니다.

그래서

foo    bar

로 표시됩니다

foo bar

그러나 휴식 공간이 항상 표시됩니다. 그래서

foo&‍nbsp;&‍nbsp;&‍nbsp;bar

로 표시됩니다

foo   bar


답변

이미 언급했듯이 “중단 공간 없음”이있는 줄 바꿈은받지 않습니다.

또한 “”만 포함 된 요소가 잘못 표시 될 수 있습니다. & nbsp; 작동합니다. 즉 6에서 (내가 기억하는 한 IE7에는 동일한 문제가 있습니다) 빈 테이블 요소가있는 경우 내용이 없거나 흰색 만있는 경우 요소와 같은 스타일을 적용하지 않습니다 (예 : 테두리) 우주. 따라서 다음과 같이 테두리가 렌더링되지 않습니다.

<td></td>
<td> <td>

이 예제에서 테두리가 표시되는 반면 :

<td>& nbsp;</td>

흠-여기에 올바르게 렌더링하기 위해 더미 공간에 넣어야했습니다.