<br>의 높이를 변경하는 방법은 무엇입니까?


263

텍스트가 큰 단락이 있는데,이 단락의 하위 단락으로 나뉩니다 <br>.

<p>
  Blah blah blah.
  <br/>
  Blah blah blah. Blah blah blah. Blah blah blah.
  <br/>
  Blah blah blah.
</p>

나는 두 개의 <br>또는 이와 비슷한 것이 있기 때문에 이러한 하위 단락 사이의 간격을 넓히고 싶습니다. 이 작업을 수행하는 올바른 방법은을 사용하는 <p></p>것이지만 지금은이 레이아웃을 변경할 수 없으므로 CSS 전용 솔루션을 찾고 있습니다.

내가 설정을 해봤 <br>line-heightheight함께 display: block, 나 또한 잠시 봤 및 스택 오버플로 에드, 그러나 어떤 해결책을 찾지 못했습니다. 레이아웃을 변경하지 않고도 가능합니까?


br 태그에 높이 값이 있다고 생각하기 위해 형식을 혼동 할 수 있습니다. 아래에서 지적했듯이 단순히 줄 바꿈입니다. 워드 프로세서에서 비슷한 작업을 시도 했습니까?
Jörg

<br>의 높이 변경은 의미 상 잘못되었습니다. <br>은 텍스트에 다른 줄을 입력하고 단일 단락의 줄 높이가 고정되어 있어야 함을 의미합니다. 일부 텍스트가 분리 된 경우 별도의 단락이어야합니다.
Robo Robok


1
@JohnHenckel A는 이후 오해의 소지가 비트 <p>태그를 포함 할 수 없습니다 <div>태그 이 게시물을 참조
deseosuho

1
때때로 우리가 형식을 부여받은 코드는 우리가 통제 할 수없는 것이 아닙니다. "이때 <p> 태그를 추가 할 수 없습니다 ... 대신 스페이서로 사용되는 <br>의 높이를 변경하는 경우가 있습니다.
Brian

답변:


275

CSS :

br {
   display: block;
   margin: 10px 0;
}

이 솔루션은 크로스 브라우저와 호환되지 않지만 적어도 뭔가입니다. 또한 설정을 고려하십시오 line-height.

line-height:22px;

Chrome의 경우 설정을 고려하십시오content .

content: " ";

그 외에는 JavaScript 솔루션에 갇혀 있다고 생각합니다.


31
IE7, Opera10, Chrome2에서는 작동하지 않습니다. Firefox에서는 여백 두 배 크기를 만듭니다. 다음을 지정해야합니다margin-top: 10px;
awe

8
content:" "해당 스타일에 속성을 추가하면 Chrome에서 제대로 작동합니다.
anushr

8
이 솔루션은 Firefox에서 작동합니다. 웹킷 기반 브라우저의 경우을 추가 할 수 있습니다 line-height. 결국 그것은 같은 것 br { display:block; margin-top:10px; line-height:22px; }입니다.
Cthulhu

2
@awe : margin:10px 0 0이중 크기를 원하지 않는 사람들에게는 더 나은 해결책이 될 것 입니다.
Kayla

1
나를 위해 작동하지 않습니다 ... 나는 또한 @awe의 코드를 시도했지만 margin-top: 10px;여전히 작동하지 않습니다 ....
추기경-복원 모니카

67

실제로 크로스 브라우저를 지원 하는 올바른 솔루션은 다음과 같습니다 .

  br {
        line-height: 150%;
     }

1
내가 말할 수있는 한 IE7이 아닙니다.
Serhiy

30
이 줄 바꿈의 높이를 증가,하지만 작동 감소 를.
명왕성

2
@htmldrum HTML을 변경할 기회가없고 CSS 만있는 경우에는 효과가 있습니다. 감사합니다! 이것은 찬성되어야하며 정답으로 간주되어야합니다. 내 생각에
flaschbier

@Pluto : 아래의 나이젤의 대답은 높이를 줄이는 데 효과적입니다!
Anupam

2
불행히도 더 이상 Chrome v.76에서 작동하지 않습니다. Edge 및 IE의 경우 vertical-align : top도 추가해야합니다. 나는 여기에 해결책을 게시했다 : stackoverflow.com/a/29674365/562862
Dave Burton

48

따라서 위의 친구들은 기본적으로 비슷한 대답을 얻었지만 여기에는 간결하게 있습니다. Opera, Chrome, Safari 및 Firefox, IE에서도 작동합니까?

br {
            display: block; /* makes it have a width */
            content: ""; /* clears default height */
            margin-top: 0; /* change this to whatever height you want it */
}

3
이. 명시된 질문과 관련하여 정확합니다. 또한 실제로 필요한 작업을 수행 한 페이지의 유일한 답변이기도합니다.
Xodarap777

내용을 수정하기 전까지는 다른 답변이 없습니다. 이것이 정답입니다. IMO.
Xandor

39

다른 방법은 HR 을 사용하는 것 입니다. 그러나 교활한 부분은 보이지 않습니다.

그러므로:

<hr style="height:30pt; visibility:hidden;" />

HR을 사용하여보다 깨끗한 BR 브레이크를 시뮬레이션하려면 : Btw는 모든 브라우저에서 작동합니다 !!

{ height:2px; visibility:hidden; margin-bottom:-1px; }

1
IE8의 경우 margin : 0px를 추가해야했습니다.
IvanH

34
그것은 HTML 태그의 끔찍한 남용입니다. <p></p>여백 을 사용하는 것이 더 좋습니다 .<hr />
Serj Sagan

이 방법은 훌륭하지만보다 정확한 결과를 얻으려면 margin : 0과 border : 0을 사용해야합니다.
MAChitgarha

25

내가 아는 한 <br> 하지 않는 높이, 그것은 단지 줄 바꿈을 강제로. 당신이 가진 것은 자동 줄 바꿈뿐만 아니라 하위 단락이 아닌 줄 바꿈이있는 텍스트입니다 . 줄 간격을 변경할 수 있지만 모든 줄에 영향을 미칩니다.


1
실제로 방법이없는 것 같습니다. 나는 심지어 :
fore

1
나는 이것이 매우 오래되었다는 것을 알고 있지만 @Isaac Minogue는 유효한 방법이 있습니다. content속성을 수정하면 트릭이 수행됩니다.
Xandor

22

방금이 문제가 있었고 사용하여 문제를 해결했습니다.

<div style="line-height:150%;">
    <br>
</div>

이것은 훌륭하게 작동하며 @htmldrum의 답변의 한계를 극복합니다.
Anupam

11

해당 <p>요소 에 선 높이를 적용 하여 선이 커질 수 있습니다.


4
그래,하지만 그건 내가 원하는 게 아니야
n1313

1
그것은 당신이 원하는 것과 어떻게 다른가? 선 사이의 간격이 늘어납니다.
Jörg

나는 나의 텍스트에 9 개 이상의 blah가있다. 3 킬로바이트의 텍스트가 3 개의 블록으로 나뉘어져 있다고 상상해보십시오.
n1313

당신이에 줄 높이를 적용하면 <br>태그, 다음 강제 줄 바꿈 ... 랩 줄 바꿈보다 큰 것
peirix

1
<br/>를 사용하는 대신 세 개의 단락을 원하는 것처럼
들립니다.

7

나는 이전에 :before/ :afterCSS2 의사 요소를 시도하지 않았습니다 . 주로 IE8에서만 지원되기 때문입니다 (IE 브라우저 관련) . 이것은 유일한 CSS 솔루션 일 수 있습니다.

br:before {
    display: block;
    margin-top: 10px;
    content: "";
}

다음은 QuirksMode에 대한 입니다 .


예, 전 {content};에 대한 기대가 높았습니다. 나도 실패했다.
n1313

어딘가에 주입하면 제대로 작동합니다. 아아, IE6 / 7에서는 작동하지 않습니다.
Filip Dupanović가

5

나는 당신이 사용할 수 있다고 생각했습니다.

br:after {
    content: ".";
    visibility: hidden;
    display: block;
}

그러나 크롬이나 파이어 폭스에서는 작동하지 않았습니다.

다른 사람에게 발생한 경우에 대비하여 문제를 해결하겠다고 언급했습니다.


5
br {   
    content: "";
    margin: 2em;
    display: block;
    margin-bottom: -20px; 
 }

Firefox, Chrome 및 Safari에서 작동합니다. 탐색기에서 테스트하지 않았습니다. (Windows 태블릿의 전원이 부족합니다.)

줄 바꿈, 글꼴 크기는 Firefox 및 Safari에서 다르게 작동합니다.


CSS의 어느 부분이 문제를 해결했는지 더 구체적으로 말씀해 주시겠습니까? 이것은 다른 사람들이 답을 이해하는 데 도움이 될 것입니다.
Frank Bryce

나를 위해 잘 작동합니다, 감사합니다! 그러나 어떤 종류의 정보가 부족합니다.
Vinícius Moraes

4

흥미롭게도 중단 태그가 다음과 같이 전체 형식으로 작성된 경우 :

<br></br>

그런 다음 CSS 행 높이 : 145 %가 작동합니다. 중단 태그가 다음과 같이 작성된 경우 :

<br> or 
<br/> 

적어도 Chrome, IE 및 firefox에서는 작동하지 않습니다. 기묘한!


4

나를 위해 작동하는 것은 단락 태그 사이 에이 인라인을 추가하는 것입니다 ...하지만 최상의 솔루션은 아닙니다.

<br style="line-height:32px">

-------- 편집하다 ---------

나는 이것으로 PC / Mac에 문제가 발생했습니다 ... 텍스트에 새로운 줄 높이를 제공하지만 줄 바꿈은하지 않습니다 ... 직접 테스트를 원할 수도 있습니다. 죄송합니다!


ios의 UIWebView 내부에서 픽셀 수준의 세로 크기를 관리하기 위해 일했습니다.
Diwann September

나는 이것으로 PC / Mac에 문제가 발생했습니다 ... 텍스트에 새로운 줄 높이를 제공하지만 줄 바꿈은하지 않습니다 ... 직접 테스트를 원할 수도 있습니다. 죄송합니다!
robinwkurtz

4

그리고 <hr>어딘가에 제안 된대로 태그를 사용하면 태그가 끝날 <p>것이므로 그 해결책을 잊지 마십시오.
f.ex. 무언가는 주변에 스타일이 지정되어 있으며 <p>, 그 스타일 <hr>은 삽입 후 나머지 내용에 대해 사라 집니다.


이것은 질문에 대한 답변을 제공하지 않습니다. 작성자의 의견을 비판하거나 설명을 요청하려면 게시물 아래에 댓글을 남겨주세요. 언제든지 자신의 게시물 에 댓글 수 있으며 평판 이 충분 하면 게시물댓글 수 있습니다 .
글리치 욕망

비판도 아니고 요청도 아닙니다. 제안 된대로 ap 태그 안에 hr 태그를 넣으면 어떻게 될지 말하려고합니다. 그리고 새로 온 사람으로서 관련 게시물에 대해 언급 할만한 명성을 얻지 못했습니다. 따라서 어떻게 다른 의견을 말해야하는지 조언하십시오 (IMHO는 질문과 관련이 있습니다).
niels

4

다음은 IE, Firefox 및 Chrome에서 작동하는 솔루션입니다. br 요소의 글꼴 크기를 본문 크기에서 14px에서 18px로 늘리고 추가 크기가 텍스트 줄 아래에 있도록 요소를 4px 줄입니다. 결과는 br 아래 4px의 여분의 공백입니다.

br 
{ 
font-size: 18px; 
vertical-align: -4px; 
}  

태그 vertical-align를 사용 하여 트릭을 수행하는 것 같습니다 br. IE 11에서 이것을 테스트했습니다.

3

2019 년 9 월 13 일 업데이트 :

<br class=big>필요할 때 큰 줄 바꿈을 만드는 데 사용 합니다. 오늘까지는 다음과 같이 스타일을 지정했습니다.

br.big {line-height:190%;vertical-align:top}

( vertical-align:topIE와 Edge에만 필요했습니다.)

Chrome, Firefox, Opera, Brave, PaleMoon, Edge 및 IE11과 같은 모든 주요 브라우저에서 작동했습니다.

그러나 최근 Chrome 기반 브라우저에서 작동이 중지되었습니다 . "큰"줄 바꿈이 보통 크기의 줄 바꿈으로 바뀌 었습니다.

2019 년 9 월 12 일부로 최신 Chromium Portable 55.0.2883.11에서 작동하지만 Opera 63.0.3368.71 및 Chrome 76.0.3809.132 (Windows 모두)에서 작동하지 않습니다. 안드로이드).)

시행 착오 후에, 나는 다음과 같은 대체물로 끝났습니다. 이는 모든 해당 브라우저의 현재 버전에서 작동합니다.

br.big {display:block; content:""; margin-top:0.5em; line-height:190%; vertical-align:top;}

노트:

line-height:190% 최신 버전의 Chrome 기반 브라우저를 제외한 모든 기기에서 작동합니다.

vertical-align:topIE와 Edge에 (와 함께 line-height:190%) 필요한 부분은 앞뒤 부분이 아닌 앞줄 뒤에 오는 여분의 공간을 얻는 데 필요합니다.

display:block;content:"";margin-top:0.5em Chrome, Opera 및 Firefox에서는 작동하지만 Edge & IE에서는 작동하지 않습니다.

<br>HTML 편집에 신경 쓰지 않는다면 태그 뒤에 약간의 수직 공간을 추가하는 대안 (간단한) 방법은 다음과 같습니다. 모든 브라우저에서 잘 작동합니다.

<span style="vertical-align:-37%"> </span><br>

(물론 더 크거나 작은 간격으로 필요에 따라 "-37 %"를 조정할 수 있습니다.) 다음은 테마에 대한 다른 변형을 포함하는 데모 페이지입니다.

https://burtonsys.com/a_little_extra_vertical_space_for_br_tag.html



2020 년 5 월 28 일 :

데모 페이지를 업데이트했습니다. 이제 위의 모든 기술을 보여줍니다.

https://burtonsys.com/a_little_extra_vertical_space_for_br_tag.html


2

마이클과 요다는 옳습니다. 당신이 할 수있는 것은 <p>태그를 사용하는 것입니다. 블록 태그는 아래쪽 여백을 사용하여 다음 블록을 오프셋하므로 더 큰 간격을 얻기 위해 이와 비슷한 것을 할 수 있습니다.

<p>
    A block of text.
</p>
<p>
    Another block
</p>

또 다른 대안은 <hr>간격의 높이를 명시 적으로 정의 할 수 있는 블록 태그를 사용하는 것입니다.


1
답변 해 주셔서 감사합니다. 현재이 레이아웃을 변경할 수 없습니다. 물론 가능할 때 나는 더 신기한 것으로 바꿀 것입니다. 그러나 지금 미안합니다.
n1313

1

<br />의 텍스트로 채워진 행만큼 많은 공간을 차지하므로 <p>변경할 수 없습니다. 더 큰 것을 원한다면 단락으로 분리하고 싶다는 의미이므로 other를 추가하십시오 <p>. 당신이 할 수있는 가장 의미론적인 것을 잊지 마십시오;)


1

CSS에서 "block-quote"속성을 사용할 수도 있습니다. 그러면 개별 행에 영향을 미치지 않지만 단락 또는 "블록 따옴표"사이의 구분선에 대해서만 매개 변수를 설정할 수 있습니다.

업데이트 :
나는 서 있습니다. "blockquote"는 실제로는 html 속성입니다. 작업 주위에서 <p> 및 </ p>처럼 사용하십시오. 그런 다음 CSS에서 블록 따옴표에 대한 매개 변수를 설정할 수 있습니다

blockquote { margin-top: 20px }

도움이 되었기를 바랍니다. br의 매개 변수 설정과 유사하며 브라우저 간 호환 가능하거나 호환되지 않을 수 있습니다.


이 부동산에 대해 들어 본 것은 이번이 처음입니다. 좀 더 자세히 설명해 주시겠습니까?
n1313

나는 정정되었다. "blockquote"는 실제로는 html 속성입니다. 작업 주위에서 <p> 및 </ p>처럼 사용하십시오. 그런 다음 blockquote {margin-top : 20px} 등과 같은 CSS에서 블록 인용에 대한 매개 변수를 설정할 수 있습니다.
Jonn

1

BR의 높이를 조정할 수는 없지만 display : none을 사용하여 BR을 안정적으로 사라지게 할 수 있습니다.

다음에 대한 솔루션을 검색하는 동안이 페이지를 방문했습니다.

제 3 자 지불 게이트웨이 (Worldpay)를 사용하면 템플릿 본문에 주입되는 10k 최대 CSS 및 HTML (스크립트가 허용되지 않음)을 사용하여 지불 페이지를 사용자 정의 할 수 있으며 몇 가지 BR, FONT 태그 등이있는 경우 IE7 / 8을 Quirks 모드로 설정하는 DTD와 결합하면 브라우저 간 맞춤화가 거의 불가능 해집니다!

BR을 끄면 일이 훨씬 일관되게됩니다 ...


1

이 방법을 사용하지만 크로스 브라우저인지 모르겠습니다.

================= 방법 1 ==================

br {
    display:none;
}

또는

================= 방법 2 ==================

br {
    display: block;
    margin-bottom: 2px;
    font-size:2px;
    line-height: 2px;
}
br:before {
    display: block;
    margin-top: 2px;
    content: "";
}
br:after {
    content: ".";
    visibility: hidden;
    display: block;
}

또는

================= 방법 3 ==================

br:after { content: "" }
br { content: "" }

표시를위한 공감 : 없음. 그게 내가 끝났어!
Brian

1

태그가 포함 된 태그 에서 CSS line-height속성을 사용해보십시오 . 격리를 위해 IMO를 사용하는 것이 더 좋지만 태그를 분리하려는 경우 태그 를 사용할 수 있습니다 .pbridpdiv


1

다른 사람이 이미 이것을 말한 경우 죄송하지만 간단한 해결책은 "라인 높이"를 가지고 놀아 보는 것입니다. 줄 바꿈을 사용할 때 너무 많은 공간을 확보 한 경우 단순히 줄 높이를 너무 높게 설정했기 때문입니다. CSS에서이를 수정하거나 (해당 속성을 사용하는 모든 항목에 영향을 줄 수 있음) CSS를 재정의하기 위해 인라인 스타일을 수행 할 수 있습니다.


이것은 질문에 대한 답변을 제공하지 않습니다. 작성자의 의견을 비판하거나 설명을 요청하려면 게시물 아래에 댓글을 남겨주세요. 언제든지 자신의 게시물 에 댓글 수 있으며 평판 이 충분 하면 게시물댓글 수 있습니다 . - 리뷰에서
JRodDynamite

동의하지 않습니다. OP 질문은 줄 바꿈 높이를 조정하는 방법이었습니다. 할 수 없으므로 원하는 효과를 얻기 위해 선 높이를 조정하십시오.
Daniel Siddall

1

HTML을 PDF로 변환하고 텍스트를 표 셀의 세로 중앙에 배치하는 솔루션을 개발해야했지만 일반 입력을 제외하고는 아무것도 작동하지 않았습니다. <br>

따라서 상자 밖에서 생각하면 글꼴 크기 (pt)를 조정하여 세로 크기를 변경했습니다.

<font style="font-size: 4pt"><br></font>

0
<span style="line-height:40px;"><br></span> 

이 인라인과 각
요소 에서이 작업을 수행해야하지만 원하는 효과를 얻으려면 대부분의 브라우저에서 작동합니다. 각 요소에 대해 인라인으로 만들면 대부분의 브라우저와 전자 메일에서 작동해야합니다 (그러나 여기서 논의하기에는 너무 복잡합니다).


1
예를 들어 보지 않으려면 왜 이것을 게시해야합니까? 사이트의 전체 아이디어는 점이다 을 논의한다.
Paul

0

span 태그에서 스타일 간격을 사용할 수 없을 때 트릭을 수행했습니다.

        <p style='margin-bottom: 5px' >
            <span>I Agree</span>
        </p>
        <span>I Don't Agree</span>

0

사용하다 <div>

<div>Content 1</div>Content 2

이것은 수직 공간이없는 새로운 라인을 허용합니다.

이것은

<div>Content 1</div>Content 2


0

<br>태그로 인한 간격 문제를 해결하면서 여기에 착륙 한 사람에게보다 일반적인 수준의 답변 . 완벽한 픽셀에 가까워 지려면 많은 재설정을해야합니다.

br {
    content: " ";
    display: block;
}

특정 문제에 대해 줄 사이에 특정 공간이 있어야했습니다. 상단과 하단에 여백을 추가했습니다.

br {
    content: " ";
    display: block;
    margin: 0.25em 0;
}

0

IE7에서 솔루션의 콤보를 사용하여 작동하도록했지만 Nigel 및 다른 사람들이 제안한 것처럼 Br을 DIV에 래핑했습니다. ID를 추가하고 at = "server"를 실행하여 확인란 행에서 확인란을 제거 할 때 BR을 제거 할 수 있습니다.

.narrow {
    display: block;
    margin: 0px;
    line-height: 0px;
    content: " "; 
}
<div class="narrow" run at="server"><br></br></div>

0

두 개의 br 태그를 사용하는 것이 모든 브라우저에서 작동하는 가장 간단한 솔루션입니다. 그러나 반복적입니다.

<p>
content
</p>
<br /><br />
<p>
content
</p>
<br /><br />
<p>
content
</p>

0

줄 바꿈 대신 단락을 추가하는 것은 어떻습니까?

bla la la bla bla abla la la bla bla abla la la bla bla a

bla la la bla bla abla la la bla bla abla la la bla bla a

bla la la bla bla abla la la bla bla abla la la bla bla a

그런 다음 선 높이 또는 패딩 또는 해당 p에 대한 모든 것을 지정할 수 있습니다


예, <br>와 <p> 모두에 대해 "big"클래스를 정의했습니다. "<br class=big>"은 행 사이에 공백을 추가하고 "<p class = big>"은 단락 앞에 공백을 추가합니다. 함유량:""; 마진 상단 : 0.5em; 선 높이 : 190 %; vertical-align : top;} ‍‍‍‍‍ ‍‍ p.big {margin-top : 1.5em} ‍‍‍‍‍ ‍‍ 그러나 <p> 태그의 문제점은 이메일 프로그램에 따라 일관성이없는 스타일입니다. 전자 메일 회신에서 단락 나누기를 포함하는 전자 메일 텍스트를 "인용"하면 단락 간 간격이 크게 변경되는 경우가 많습니다. 그래서 전자 메일에서 줄 바꿈 (gmail에 Ctrl-enter)을 사용하는 습관을 겪고 있습니다.
데이브 버튼
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.