2016-09-16 4 views
4

일부 표제 텍스트를 표제 요소 내 스팬으로 사용하고 있습니다. 문제는 수직 범위와 나머지 텍스트 내용 사이에 생성 된 공간을 제거하는 방법을 파악할 수 없다는 것입니다.세로로 회전 된 텍스트를 가로 텍스트로 맞 춥니 다

바이올린을 보면서, 나는 "We 're Just A"를 Small in의 옆에 올리고 "Striving For A"를 Big Feel의 'B'옆에 넣으려고합니다.

는 지금처럼 보인다 무엇 : 나는 the goal

을 찾고 있어요 무엇 Non-working version

html로 :

<h2> 
<span class="smallVertical orangeText">We're Just A</span> 
Small<br/>Company<br/> 
<span class="smallVertical">Striving For A</span> 
<span class="orangeText">Big Feel</span> 
</h2> 

CSS의 :

@import 'https://fonts.googleapis.com/css?family=Oswald'; 

h2 { 
    text-align:right; 
    font-family:'Oswald', sans-serif; 
    text-transform:uppercase; 
    font-size:8em; 
    line-height:1.1em; 
} 

h2 span.smallVertical { 
    font-size:12%; 
    transform: rotate(-90deg); 
    letter-spacing:0.1em; 
    float:left; 
} 

h2 span.orangeText { 
    color:#FF9900; 
} 

Fiddle

그래서 기본적으로 어떻게 회전 및 비 회전 된 텍스트 사용하여 CSS 사이의 수평 공간을 제거하는 방법?

+0

넣어 각각의 범위와 div 태그의 텍스트 라인, 위치 절대 오른쪽 위치 다음 스팬 절대 왼쪽. – Sarcoma

+0

예를 곧 게시하겠습니다. – Sarcoma

답변

5

이 꽤 하드이며, 여기에 진짜 도움 :
이 필요한 것처럼 내가 코드를 설명하려고합니다 보인다

@import 'https://fonts.googleapis.com/css?family=Oswald'; 
 

 
h2 { 
 
    text-align: right; 
 
    font-family: 'Oswald', sans-serif; 
 
    text-transform: uppercase; 
 
    font-size: 8em; 
 
    line-height: 1.1em; 
 
} 
 

 
h2 span.smallVertical { 
 
    font-size: 12%; 
 
    letter-spacing: 0.1em; 
 
    
 
    /*float: left;     /* NOOOOOOOOOOOO :) */ 
 
    display: inline-block;   /* use this instead of float:left */ 
 
    transform: rotate(-90deg) translateY(50%); /* Add: translateY 50% */ 
 
    width: 8em;     /* same as font size (OR A BIT SMALLER) */ 
 
    text-align:center;    /* to center text inside the red thing */ 
 
    vertical-align:top;   /* top to "center" span... (yeah I know...) */ 
 
    background:rgba(255,0,0,0.1); /* just to see what the heck we're doing */ 
 
    white-space: nowrap;   /* prevent small text wrap at 8em */ 
 
} 
 

 
h2 span.orangeText { 
 
    color: #FF9900; 
 
}
<h2> 
 
    <span class="smallVertical orangeText">We're Just A</span> 
 
    Small<br/>Company<br/> 
 
    <span class="smallVertical">Striving For A</span> 
 
    <span class="orangeText">Big Feel</span> 
 
</h2>

팁-의 -tha-day : white-space: nowrap;을 추가하면 텍스트가 유명한 8em을 초과해도 여전히 멋진 문자로 표시됩니다. 엘리와는 활자 표기이 데모에서와베이스 라인에 정렬 : https://jsfiddle.net/jf5kwh3t/8/

"기준"합니다 (jsFiddle의 데모 마지막 줄에서 같은) 단순히
text-align: left; 사용하여 정렬 된 모든 작은 텍스트를 만들려면.

+0

내 첫 번째 생각은 이것이 내 해결책보다 낫다는 것이 었습니다.하지만 그것의 잘못은 아닙니다. 텍스트는 수직 텍스트 줄과 큰 텍스트 사이에서 깰 수 있습니다 (아마도 'nbsp;'가 작동할까요?). 그리고 유형은 위아래로 줄 지어 있지 않습니다. 거기에 문제가 있습니다. – Sarcoma

+0

@Sarcoma https://jsfiddle.net/jf5kwh3t/9/에서 문제가 발생하지 않습니다. 약간의 빛을 비출 수 있습니까? –

+0

인라인 블록이 훨씬 적절하게 보입니다.이 기능은 응답 성이 뛰어난 디자인이라는 측면에서 훨씬 유연합니다. – Sarcoma

0

이것은 사용자가 묻는 것을 수행하지만 텍스트의 순서도 유지합니다.

단어를 div 태그로 묶음으로써 절대 위치 지정을 사용하여 왼쪽의 범위를 배치 할 수 있습니다.

HTML :

<h2> 
<div class="top"> 
    <span class="smallVertical orangeText">We're Just A</span> 
    Small 
</div> 
<div class="mid"> 
    Company 
</div> 
<div class="bottom"> 
    <span class="smallVertical">Striving For A</span> 
    <span class="orangeText">Big Feel</span> 
</div> 

CSS :

@import 'https://fonts.googleapis.com/css?family=Oswald'; 
h2 { 
    position: relative; 
    text-align: right; 
    font-family: 'Oswald', sans-serif; 
    text-transform: uppercase; 
    font-size: 8em; 
    line-height: 1.1em; 
} 

h2 div { 
    position: absolute; 
    right: 0; 
} 

.top { 
    top: 0; 
} 

.mid { 
    top: 135px; 
} 

.bottom { 
    top: 270px; 
} 

h2 span.smallVertical { 
    font-size: 12%; 
    transform: rotate(-90deg); 
    letter-spacing: 0.1em; 
    position: absolute; 
    top: 0; 
    left: -66px; 
} 

.bottom .smallVertical { 
    left: -76px 
} 

h2 span.orangeText { 
    color: #FF9900; 
} 

https://jsfiddle.net/jf5kwh3t/7/

+0

그건 ** 잘못 ** 텍스트와 첫 번째 큰 문자 사이의 거리가 작은 텍스트 길이에 의해 결정됩니다 .... –

+0

그래, 그것은 힘든 하나입니다. 내가 내가 그것을 가지고 있다고 생각한다라고 말했던 것처럼 그것이 늦었다. 이전에 회전 된 텍스트를 사용하지 않았습니다. 나는 왜 왼쪽 여백이 꺼져 있는지 궁금해했다. – Sarcoma

+0

전혀 동의합니다. 나는 또한이 작업을하기 위해 (그리고 작은 텍스트 길이 등의 모든 경우를 처리하기 위해) 추가 할 필요가있는 추가 CSS 무게에 감동했습니다. –

관련 문제