답변:
css를 사용하면 br 태그를 "숨길"수 있으며 효과가 없습니다.
br {
display: none;
}
특정 제목 유형 내에서 일부만 숨기려면 CSS를 더 구체적으로 만드십시오.
h3 br {
display: none;
}
참고 :이 솔루션은 자체 닫는 태그에 의사 요소를 잘못 적용하는 Webkit 브라우저에서만 작동합니다.
위의 답변에 대한 부록으로 어떤 경우에는 단순히 무시하는 대신 공백을 삽입해야한다는 점에 주목할 가치가 있습니다 <br>.
예를 들어 위의 답변은
Monday<br>05 August
에
Monday05 August
주간 이벤트 캘린더를 포맷하는 동안 확인했습니다. "월요일"뒤에 공백을 삽입하는 것이 좋습니다. CSS에 다음을 삽입하면 쉽게 수행 할 수 있습니다.
br {
content: ' '
}
br:after {
content: ' '
}
이것은 만들 것입니다
Monday<br>05 August
처럼 보인다
Monday 05 August
쉼표로 구분하려는 경우 content속성을 br:after로 변경 ', '하거나 원하는 항목을 입력 ' '하여 구분 기호로 만들 수 있습니다! 그런데
Monday, 05 August
깔끔해 보인다 ;-)
위의 답변에서와 같이 태그별로 만들고 싶다면 할 수 있습니다. 이 속성이 tag <h3>에 대해 작동하도록하려면 예를 들어 및 h3앞에 각각을 추가하면 됩니다 .brbr:after
가장 일반적으로 의사 태그에 대해 작동합니다.
<br />하나 개 의사 요소에 대한 작업에 안되는 요소 . 그리고 content의사 요소에서만 작동합니다.
스타일을 추가하면
br{
display: none;
}
그러면 작동합니다. 그래도 이전 버전의 IE에서 작동하는지 확실하지 않습니다.
대체 요소에 대해 "정의되지 않은"의사 요소에 따라 다르기 때문에 공백 메서드가 작동하도록하려면 span대신 요소를 사용할 수 있습니다 br.
HTML
<p>
To break lines<span class="line-break">in a paragraph,</span><span>don't use</span><span>the 'br' element.</span>
</p>
CSS
span {white-space: pre;}
span:after {content: ' ';}
span.line-break {display: block;}
span.line-break:after {content: none;}
줄 바꿈은 적절한 범위 요소를로 설정하여 간단히 수행됩니다 display:block.
HTML 마크 업에서 ID 및 / 또는 클래스를 사용하여 CSS로 모든 단일 또는 조합 요소를 쉽게 타겟팅하거나 nth-child().
따라서 반응 형 레이아웃에 미디어 쿼리를 사용하여 다른 중단 점을 정의 할 수 있습니다.
또한 Javascript (jQuery)로 클래스를 추가 / 제거 / 토글 할 수도 있습니다.
이 방법의 "장점"은 견고성입니다. 의사 요소를 지원하는 모든 브라우저에서 작동합니다 (참조 : Can I use-CSS 생성 콘텐츠 ).
대안으로 의사 요소를 통해 줄 바꿈을 추가 할 수도 있습니다.
span.break:before {
content: "\A";
white-space: pre;
}
<br>은 적어도 크로스 브라우저에서는 불가능하다는 것입니다 . 그래서 대안을 보여주었습니다.
<br> 하면 문제가 해결 된다는 것이 다소 분명해 보입니다 (아마도 공백으로 대체). 따라서 질문 전체가 염려하는 전체 문제 는 html을 제어 할 수없는 경우입니다 . 그들이 정말로 그것을 해결하기 위해 (어떤 이유로 든) 자바 스크립트를 사용하고 싶지 않다는 추가 규정으로 인해 복잡합니다.
<br>CSS 로 무시하는 방법"이라는 질문 이미 답변을 받았습니다. 그리고 당신이 HTML을 제어 할 수있는 경우에만 변경을 원합니다. 그러나 반응 형 디자인에서는 줄 바꿈을 제어하는 것이 바람직합니다 (자동 줄 바꿈 제외). 그리고 그러한 경우 공백을 갖거나 CSS (미디어 쿼리)에 의해 제어되지 않는 방법은 목표를 달성하기위한 최소한 "하나의 방법"입니다.
이를 위해 다음과 같이 할 수 있습니다.
br{display: none;}
PRE 태그 안에 있으면 PRE 태그가 일반 블록 요소처럼 작동하도록하려면 다음 CSS를 사용할 수 있습니다.
pre {white-space: normal;}
또는 다음 과 같이 Aneesh Karthik C 의 스타일을 따를 수 있습니다 .
br {content: ' '}
br:after {content: ' '}
나는 당신이 그것을 얻은 것 같아요
::before하고 ::after적어도 "대체 된 요소"에 대해 "정의되지 않은" 요점을 놓쳤다 고 생각 한다 br. 따라서 신뢰할 수있는 일관된 브라우저 동작은 없습니다! 할 수있는 유일한 방법은 이러한 요소에 의사 요소 를 사용하지 않는 것입니다 !
질문에 따라 Aneesh Karthik C 접근 방식을 사용하여 Firefox 및 Opera에서이 문제를 해결 하려면 "float"right "속성을 추가해야합니다.
여기 에서 예를 확인 하십시오. 이 CSS는 Firefox (26.0), Opera (12.15), Chrome (32.0.1700) 및 Safari (7.0)에서 작동합니다.
br {
content: " ";
float:right;
}
나는 이것이 당신의 질문에 대답하기를 바랍니다 !!
br은 이미 답변되어 있습니다 (두 번 이상). 질문은 조건부 공백 에 관한 것입니다 . 그리고 이것은 의사 요소의 사용을 필요로하기 때문에br .
br은 단순히 말도 안됩니다! 그리고 나머지 답변이 "조건부 공백 및 라인 브레카"와 관련이 있는지 여전히 알 수 없습니다. 좀 더 설명 해주시 겠어요?
br요소 주위에 이미 공백이 있으므로 귀하의 예는 오해의 소지가 있습니다 . 이를 제거하면 공간을 추가하는 데 작동하지 않는 것을 볼 수 있습니다.
br에는 첫 번째와 마지막 요소 앞뒤에 공백 이있는 세 가지 요소가 있습니다. 솔루션이 실제로 작동하지 않는 것처럼 보이게하는 공간입니다. 수정 된 예제에서했던 것처럼 이러한 공간을 제거하면 솔루션이 Firefox에서 공간을 전혀 추가하지 않는다는 것을 알 수 있습니다.
이 질문은 이미 해결 된 것처럼 보이지만 수락 된 답변으로는 Firefox에서 문제가 해결되지 않았습니다. 파이어 폭스 (그리고 IE는 시도하지 않았지만)는 "content"태그의 내용을 읽는 동안 공백을 건너 뜁니다. Mozilla가 왜 그렇게했는지 완전히 이해하지만 문제가 있습니다. 내가 찾은 가장 쉬운 해결 방법은 아래와 같이 일반 공백 대신 깨지지 않는 공백을 사용하는 것입니다.
.noLineBreaks br:before{
content: '\a0'
}
보세요 .
before요소 가없는 이유는 무엇 br입니까? 당신은 br바이올린에 당신의 html 에조차 없습니다. 문제의 일부는 일부 브라우저에서 before작동하지 않는다는 것입니다 br.
예, 무시할 수 있습니다 <br>. 특히 모바일 장치의 중단을 제거해야하는 반응 형 디자인의 경우이 기능이 필요할 수 있습니다.
HTML
<h2>
Where ever you go <br class="break"> i am there.
</h2>
모바일 예제 용 CSS
/* Resize the browser window to check */
@media (max-width: 640px)
{
.break {display: none;}
}
이 Codepen을 확인하십시오.
https://codepen.io/fluidbrush/pen/pojGQyM
댓글로 간단히 변환 할 수 있습니다.
또는 다음을 수행 할 수 있습니다.
br {
display: none;
}
하지만 원하지 않는다면 왜 거기에 두는 거죠?
br요소를 사용할 수 없다는 것입니다 ! 그 이유는 이미 여러 번 설명되었습니다! 내 대답에서 나는 유효하고 강력하며 크로스 브라우저 방식으로 목표를 달성하는 대체 방법을 보여주었습니다.