2013년 9월 28일 토요일

CSS transition 이해하기

! 이 글의 예문에 적용된 transition 효과는 익스플로러 9 버젼 이하에서는 작동하지 않습니다.


  • transition-property
  • transition-duration
  • transition-timing-function
  • transition-delay

transition은 위 4가지 속성의 축약 속성(shorthand property)이다. 영어로 shorthand property 라고 지칭하니, 함축속성, 또는 대표속성이라고도 표현할 수 있을 것이다. 쉽게 말하면, transition 하나로 위 4가지를 다 표현할 수 있다는 얘기다.

예를 들어,

 transition-property:width;  
 transition-duration: 1s;  
 transition-timing-function: ease;  
 transition-delay: .5s;  
 transition: width 1s ease .5s;  

위 두개의 코드는 서로 같은 코드이다.




transition-property

transition 구문의 첫번째 자리에 오는 transition-property 는 어떤 속성에 transition 효과를 줄지를 설정한다.

transition-property의 값(value)

  • none : transition 효과를 지정하지 않는다.
  • all : 모든 속성이 transition 효과를 얻는다.
  • property : transition 효과를 얻게될 속성을 지정한다.

모든(all) 속성을 지정하는 것과 일부 속성을 지정하는 것은 다음과 같은 차이가 있다.


  예1

 .transitionpost1 {  
 width: 100px;  
 height: 50px;  
 background-color:DarkSeaGreen;  
 border:1px solid black;  
 transition:all 1s ease .1s;   
 }  
   
 .transitionpost1:hover {  
 width: 300px;  
 height:100px;  
 }  


<예1>에서는 transition-property를 all 로 설정했기 때문에, 너비 확장과 높이 확장 모두 transition 효과를 얻는다. 즉, 너비 확장과 높이 확장 모두 시간에 걸쳐 점진적으로 이루어진다.


  예2

 .transitionpost2 {  
 width: 100px;  
 height: 50px;  
 background-color:DarkSeaGreen;  
 border:1px solid black;  
 transition:width 1s ease .1s;   
 }  
   
 .transitionpost2:hover {  
 width: 300px;  
 height:100px;  
 }  

<예2>는 다른 조건들을 <예1>과 동일하게 하되, transition-property를 all 이 아닌 width로 설정했다. <예2>의 도형은 마우스 커서를 올렸을 때 똑같이 너비 300px, 높이 100px로 확장하지만, 높이 변화는 transition의 효과를 얻지 못한다.


복수의 속성을 지정할 때는 콤마로 구분하여 각각의 값을 설정한다.


  예3

예3 - 너비 변화는 1초, 배경색상 변화는 13초에 걸쳐 일어난다.
transition 속성을 지정하지 않은 height(높이)는 변화는 하되, 점진적으로 변화하는 transition 효과는 얻지 못한다.

 .transitionpost3 {  
 width: 100px;  
 height: 50px;  
 background-color:#8FBC8F;  
 border:1px solid black;  
 transition:width 1s ease, background-color 13s ease;  
 }  
   
 .transitionpost3:hover {  
 width: 300px;  
 height: 100px;
 background-color:#000000;  
 }  


transition-duration

transition 구문의 두번째 자리에 오는 transition-duration은 변화가 몇초, 또는 몇 밀리세컨드(1/1000초)에 걸쳐 일어날지를 설정한다. 6s, 0.5s, .3s, 120ms 이라고 적혀 있다면, 이는 각각 6초, 0.5초, 0.3초, 120밀리세컨드 라는 뜻이다.


  예4

예4 - 너비 변화는 11초, 높이 변화는 432ms(밀리세컨드), 배경색상 변화는 0.3초에 걸쳐 일어난다.
 .transitionpost4 {  
 width: 100px;  
 height: 50px;  
 background-color:#8FBC8F;  
 border:1px solid black;  
 transition:width 11s ease, height 432ms ease, background-color .3s ease;  
 }  
   
 .transitionpost4:hover {  
 width: 300px;  
 height:100px;  
 background-color:#2580a2;  
 }  


transition-timing-fuction

transition 구문의 세번째 자리에 오는 transition-timing-functing은 변화가 일어나는 속도를 설정한다. 속도 커브의 함수를 설정한다는 것이 더 정확한 표현이겠지만, 어려운 말 보다는 실제 움직임을 보면서 이해하는 것이 편하다.

transition-timing-function의 값(value)으로는


  linear

transition-timing-function을 linear로 설정하면 변화가 시작부터 종료까지 동일한 속도로 일어난다.
  ease

ease는 극초반은 느리게, 초반은 빠르게, 종료지점은 느리게 변화가 진행된다.
  ease-in

ease-in은 시작지점의 변화가 천천히 진행된다.
  ease-out

ease-out은 종료지점의 변화가 천천히 진행된다.
  ease-in-out

ease-in-out은 시작지점과 종료지점의 변화가 천천히 진행된다.

주로 쓰이는 5가지 외에 함수 값을 직접 지정하는 cubic-bezier,

  cubic-bezier(1,.02,1,.47)


그리고, 변화가 점진적으로 진행되지 않고, 주어진 설정과 간격에 따라 일시에 진행되는 step-start, step-end, steps 가 있다.

  step-start

step-start는 모든 변화가 시작지점에 이루어진다.
  step-end

step-end는 모든 변화가 종료지점에 이루어진다.
("transition:width 2s step-end;" 로 설정하였으므로, 마우스 오버 후 2초 뒤에 변화가 일어난다.)
  steps(4, start)

steps는 설정한 단계에 따라 간격을 두고 변화가 일어난다.

주로 쓰이는 것은 linear, ease, ease-in, ease-out, ease-in-out 이렇게 5가지이다. 이 5가지만 알고 있어도 transition을 활용하는데에는 큰 무리가 없다.

cubic-bezier로 함수 값을 직접 지정하려면, cubic-bezier 곡선 그래프를 이해해야 한다. cubic-bezier 곡선 그래프를 이해하는 것은 나머지 값들이 어떻게 다른지를 이해하는데에도 도움이 된다.

그림1

cubic-bezier 곡선에서 그래프의 가로축은 시간, 세로축은 변화의 진행 정도를 의미한다. 가로축과 세로축 모두 시작값은 0이며, 종료값은 1이다.

그림2

예를 들어, linear의 cubic-bezier 곡선은 <그림2>와 같은 모습을 하고 있다. transition-timing-function을 linear로 설정할 때 변화가 시작부터 종료까지 동일한 속도로 일어나는 것은 linear의 그래프가 시간이 흐른 만큼 변화가 동일한 비율로 일어나는 직선의 모습을 하고 있기 때문이다.

그림3

ease-in-out의 경우 시작지점과 종료지점의 변화는 시간 진행에 비해 더디게 진행되는 곡선의 모습을 하고 있다. ease-in-out으로 설정할 때 시작지점과 종료지점의 변화가 천천히 진행되는 이유는 이와 같은 이유 때문이다.

linear나 ease-in-out, ease, ease-in, ease-out 처럼 주어진 값(곡선)이 아닌, 자신이 원하는 함수(곡선)를 설정하고자 할 때 transition-timing-function의 값으로 cubic-bezier를 설정한다.

cubic-bezier(x1, y1, x2, y2)

! cubic-bezier 숫자값 지정시 x1과 x2의 값은 0과 1 사이여야 한다. y1과 y2는 0~1 범위를 초과할 수 있다.

cubic-bezier를 설정할 때 괄호안 4개의 숫자는 곡선을 함수로 나타낸 것이다. 원하는 함수값과 곡선을 얻을 수 있도록 도와주는 사이트가 많이 있으므로, 해당 사이트에서 원하는 곡선 모양을 만든 후 함수값을 추출하면 된다.

! 참고.
cubic-bezier.com
CSS cubic-bezier Builder - Rob La Placa


그림4

만약 <그림4>와 같은 곡선을 함수값으로 지정하면 어떻게 되는가. <그림4>의 곡선을 함수값으로 설정하면, 실제로 변화가 진행되다가 마이너스 변화 과정을 겪은 후 다시 변화가 진행된다.


  예5

 .transitionpost5 {  
 width: 100px;  
 height: 50px;  
 background-color:DarkSeaGreen;  
 border:1px solid black;  
 transition:width 2s cubic-bezier(0,1.59,1,-0.75);  
 }  

 .transitionpost5:hover {  
 width: 300px;  
 }  


그림5

step-start의 cubic-bezier 그래프는 <그림5>와 같으며, step-start는 steps(1,start)와 같다. step-start는 시작 지점에서 모든 변화가 완료된다.


그림6

step-end의 cubic-bezier 그래프는 <그림6>과 같으며, step-start는 steps(1,end)와 같다. step-start는 종료 지점에서 모든 변화가 완료된다.

그림7

steps는 step-start, step-end와 같은 개념이되, 단계(간격)를 지정할 수 있다. 각 단계의 시작 지점에서 변화가 일어날지, 아니면 종료 지점에서 변화가 일어날지는 변수(start, 또는 end)로 설정한다.

steps(단계, start), 또는 steps(단계, end)

  예6

예6 - 너비 변화가 2초 동안 8단계를 거쳐 각 단계의 종료 시점에 일어난다.
 .transitionpost6 {  
 width: 100px;  
 height: 50px;  
 background-color:DarkSeaGreen;  
 border:1px solid black;  
 transition:width 2s steps(8, end);  
 }  
   
 .transitionpost6:hover {  
 width: 300px;  
 }  

steps의 두번째 변수(start, 또는 end)는 생략이 가능하다. 두번째 변수를 생략하면, default값인 end 값이 주어진다.


  예7

 .transitionpost7 {  
 width: 100px;  
 height: 50px;  
 background-color:DarkSeaGreen;  
 border:1px solid black;  
 transition:width 2s steps(7);  
 }  
   
 .transitionpost7:hover {  
 width: 300px;  
 }  


참고 - linear, ease, ease-in, ease-out, ease-in-out 의 cubic bezier 그래프

그림8


transition-delay

transition 구문의 마지막 네번째 자리에 오는 transition-delay 는 transition 효과가 언제 시작할지를 설정한다. 말 그대로, 딜레이(delay)를 설정한다.


  예8

예8 - 마우스 커서를 올리면 1초가 지난 후 2초에 걸쳐 너비가 확장된다.
 .transitionpost8 {  
 width: 100px;  
 height: 50px;  
 background-color:DarkSeaGreen;  
 border:1px solid black;  
 transition:width 2s ease-in 1s;  
 }  
   
 .transitionpost8:hover {  
 width: 300px;  
 }  



transition의 default 값

transition의 default 값은

all 0 ease 0

이다.


transition 구문에서 생략된 값은 default 값으로 대체된다. transition 효과가 나타나기 위해서 반드시 주어져야 하는 값, 즉 생략해선 안되는 값은 transition-duration 이다. 0초에 걸친 점진적인 변화라는 것은 있을 수 없기 때문이다.


  예9

 .transitionpost9 {  
 width: 100px;  
 height: 50px;  
 background-color:DarkSeaGreen;  
 border:1px solid black;  
 transition:2s;  
 }  
   
 .transitionpost9:hover {  
 width: 300px;  
 }  

<예9>에서는 transition의 값으로 '2s'만 입력했다. 생략된 값은 default 값으로 대체되므로,

 transition:2s;  

 transition:all 2s ease 0;  

과 같다.


transition 효과를 얻을 수 있는 속성들(properties)

꼭 그렇다고는 할 수 없지만, 보통 숫자값을 갖는 속성(property)들은 transition을 통해 점진적인 효과를 낼 수 있다.

예 : opacity, border-radius, margin, color, font-size, padding 등등

transition 효과가 가능한 속성(property)의 목록은

http://www.w3.org/TR/css3-transitions/

페이지 하단의 7.1. Properties from CSS 에 열거된 항목. 또는,

https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties

페이지에서 animatable이 yes인 항목들을 통해 확인할 수 있다.

! 브라우저마다 약간씩 다르고, 또 이 항목들은 바뀔 수 있으므로 웹 사이트나 블로그 설계 시 주의를 기울여야 한다.



  예10

 .transitionpost10 {  
 opacity:1;  
 width: 100px;  
 height: 50px;  
 background-color:DarkSeaGreen;  
 border:1px solid black;  
 transition:opacity .5s ease-in;  
 }  
   
 .transitionpost10:hover {  
 opacity:0;  
 }  


  예11

 .transitionpost11 {  
 border-radius:0;  
 width: 100px;  
 height: 50px;  
 background-color:DarkSeaGreen;  
 border:1px solid black;  
 transition:border-radius .5s ease-in-out;  
 }  
   
 .transitionpost11:hover {  
 border-radius:50%;  
 }  
   


  예12

 .transitionpost12 {  
 margin-left:0;  
 width: 100px;  
 height: 50px;  
 background-color:DarkSeaGreen;  
 border:1px solid black;  
 transition:margin-left 1.5s ease-in-out;  
 }  
   
 .transitionpost12:hover {  
 margin-left:200px;  
 }  



예13
긴 글 읽느라 고생하셨습니다.
감사합니다. :D



! 참고한 글 및 참고할 만한 글
W3C CSS Transitions
Mozilla Developer Network, timing-function
Mozilla Developer Network, Using CSS transitions
CSS-Tricks, transition-timing-function
w3schools.com, CSS3 transitions
w3schools.com, CSS3 transition-property Property
w3schools.com, CSS3 transition-duration Property
w3schools.com, CSS3 transition-timing-function Property
w3schools.com, CSS3 transition-delay Property


2013년 9월 23일 월요일

동적뷰 본문 줄 간 간격 설정하기


 .article .article-content {  
 line-height:1.7;  
 }  

동적뷰에서 본문 줄 간 간격을 설정해주는 코드입니다. line-height에는 원하는 값을 입력하시면 됩니다. 기본(default)으로 설정되어 있는 줄 간 간격은 1.4입니다.

코드 삽입 위치는 [대시보드 → 템플릿 → 맞춤설정 → 고급 → CSS추가] 입니다.


! 참고로, 위의 선택자(selector), 즉 '.article .article-content'로 동적뷰 본문의 폰트 크기 또한 설정이 가능합니다. 본문 폰트 크기와 줄 간 간격을 같이 설정한다면, 코드의 모습은 다음과 같은 형태가 되겠죠.

 .article .article-content {  
 line-height:1.7;  
 font-size:12px;  
 }  

지난 번에 동적뷰 본문 폰트 크기 설정 이라는 글에서 알려드린 코드를 이미 쓰고 계시다면, 해당 코드를 삭제하신 후 이 코드로 대체하시면 됩니다.

데모 보기


! 코드 적용 전 템플릿을 반드시 백업해두시기 바랍니다.
! 테스트용 블로그에서 충분한 테스트를 해본 후 사용하세요.



동적뷰 검색바 폰트 크기 설정하기


동적뷰에서 검색바 '검색' 글씨의 폰트 크기를 설정해주는 코드입니다.

 #header input#search {  
 font-size:12px;  
 }  

코드 삽입 위치는 [대시보드 → 템플릿 → 맞춤설정 → 고급 → CSS추가] 입니다. font-size의 값은 자신이 원하는 값으로 대체하시면 됩니다.

데모 보기



동적뷰 블로그 제목 마우스 오버 시 밑줄 제거


동적뷰에서 블로그 제목에 마우스를 갖다대면 밑줄이 생깁니다. 아래 코드는 마우스 오버 시 밑줄이 생기지 않도록 설정해주는 코드입니다.

 #header .header-bar .title a {   
 text-decoration:none;  
 }  

코드 삽입 위치는 [대시보드 → 템플릿 → 맞춤설정 → 고급 → CSS추가] 입니다.

데모 보기



2013년 9월 22일 일요일

동적뷰 헤더바 폰트 크기 설정하기

그림1

코드1

 .header-drawer .menu span{  
 font-size: 11px !important;  
 }  

코드2

 .header-drawer .tabs{  
 font-size: 11px !important;  
 }  

코드3

 #header .menu .menu-item {  
 font-size: 11px !important;  
 }  


동적뷰에서 헤더바의 폰트 크기를 설정해주는 코드들입니다. (코드1과 코드2의 출처는 Southerspeakers입니다.)

코드 삽입 위치는 [대시보드 → 템플릿 → 맞춤설정 → 고급 → CSS추가] 입니다. <그림1>을 참고하시고, font-size에 각각 원하는 값을 입력하시면 됩니다.

데모 보기



동적뷰 블로그 제목과 설명 폰트 크기 설정하기



코드1 - 블로그 제목 폰트 크기

 #header .header-bar .title h1 {  
 font-size: 16px;  
 }  

코드2 - 블로그 설명 폰트 크기

 #header .header-bar .title h3 {  
 font-size: 12px;  
 }  

코드1과 코드2는 각각 동적뷰에서 블로그 제목과 설명의 폰트 크기를 조절해주는 코드입니다.

코드 삽입위치는 [대시보드 → 템플릿 → 맞춤설정 → 고급 → CSS 추가] 입니다. 코드를 삽입하실 때 'font-size'의 값을 자신이 원하는 값으로 대체하시면 됩니다.

데모 보기



동적뷰 본문 제목 폰트 크기 및 컬러 설정

H******님께서 동적뷰 본문 폰트 크기 설정하는 방법에 대해 질문해주셔서, 부족한 CSS 실력으로 한번 찾아봤습니다.

몇가지를 선택자(selector)를 찾아냈는데. 주로 사용하시는 뷰에 따라서 골라 쓰시면 될 것 같습니다.

코드 삽입 위치는 [대시보드 → 템플릿 → 맞춤설정 → 고급 → CSS추가] 로, 모두 같습니다. 코드를 삽입하실 때 color, font-size, font-weight의 값은 자신이 원하는 값으로 대체하시면 됩니다. 또, 굳이 변경을 원하지 않는 속성은 삭제해도 괜찮습니다.

코드1. (투자한 시간이 아까워서 적긴 했습니다만, 코드1은 비추천입니다.)

 .title * {  
 font-size:8px;  
 }  

코드1.로는 본문 폰트 크기 설정이 가능합니다. 다만, 이 선택자(selector)로는 폰트 컬러 설정이 불가능했습니다. font-weight(굵게,이탤릭체 등) 설정이 가능하긴 했으나, font-weight의 설정이 본문 제목 뿐만 아니라 블로그 제목에도 영향을 주었습니다.

코드1.로 설정 가능한 뷰 및 본문 제목. 즉, 코드1.의 영향을 받는 뷰 및 페이지 :

Classic 뷰의 본문 제목
Flipcard 뷰의 본문 제목
Magazine 뷰 인덱스 페이지의 제목과 본문 제목 
Mosaic 뷰 본문 제목
Sidebar 뷰 사이드바 제목과 본문 제목
Snapshot 뷰 인덱스 페이지 제목과 본문 제목
Timeslide 뷰 인덱스 페이지의 제목과 본문 제목


코드2.

 .title a {  
 font-size:12px;  
 color:#2580a2;  
 font-weight:bold;  
 }  

선택자(selector)를 ".title a"로 입력시 폰트 크기, 컬러 설정 및 font-weight 설정이 가능했습니다.

코드2.로 설정 가능한 뷰 및 본문 제목 (코드2.의 영향을 받는 뷰 및 페이지) :

Classic 뷰의 본문 제목
Flipcard 뷰의 본문 제목
Magazine 뷰 인덱스 페이지의 제목과 본문 제목
Mosaic 뷰의 본문 제목
Sidebar 뷰 사이드바 제목과 본문 제목. 단, 사이드바의 제목은 컬러 설정이 적용되지 않음.
Snapshot 뷰의 인덱스 페이지 제목과 본문 제목
Timeslide 뷰 인덱스 페이지 제목과 본문 제목


코드3.

 .tile .banner .title {  
 font-size:30px;  
 color:#2580a2;  
 font-weight:bold;  
 }  


코드1.이나 코드2.로는 적용이 되지 않는, Mosaic 뷰 인덱스 페이지에서의 글 제목 폰트 크기, 컬러, font-weight 설정은 코드3.으로 할 수 있습니다. 코드3.은 Mosaic 뷰의 인덱스 페이지에만 적용이 됩니다.


코드4-1.

 .items .item .card .front .title {  
 font-size:30px;  
 color:#2580a2;  
 font-weight:bold;  
 }  

코드4-2.

 .overlay .title {  
 font-size:30px;  
 color:#2580a2;  
 font-weight:bold;  
 }  

Flipcard 뷰 인덱스 페이지의 제목은 마우스 커서를 올리기 전의 제목과 올린 후의 제목, 2개입니다.


마우스를 올리기 전(앞면)의 제목 폰트 크기와 컬러, font-weight 설정은 코드4-1.로, 마우스를 올린 후(뒷면)의 제목 폰트 크기와 컬러, font-weight 설정은 코드4-2.로 각각 설정할 수 있습니다.


코드5-1.

 #sidebar .item .title a {  
 color:#5cabb8;  
 }  

코드5-2.

 #sidebar .item.selected .title a {  
 color:#2580a2;  
 }  

코드5-3.

 #sidebar .item:hover:not(.selected) .title a {  
 color:#b81a00;  
 }  

5-1., 5-2., 5-3. 코드로는 코드2.로 설정할 수 없는 Sidebar 뷰 사이드바 제목의 컬러를 설정할 수 있습니다.


Sidebar 뷰 사이드바 제목에서 선택되지 않은 글의 폰트는 코드5-1.로, 선택된 글의 폰트 컬러는 코드5-2.로, 선택되지 않은 글에 마우스를 올렸을 때의 폰트 컬러는 코드5-3.으로 각각 설정이 가능합니다.


데모 보기


코드를 적용하기 전에 템플릿을 반드시 백업해두시기 바랍니다.
테스트용 블로그에서 테스트를 충분히 해본 후 적용하시기 바랍니다.
! 이 글에서처럼 동적뷰에 스타일을 별도로 설정할 경우 가급적 렌더링 타임아웃을 최대로 설정하실 것을 추천합니다.



2013년 9월 21일 토요일

링크목록, 태그 가젯 좌측의 list style 보이지 않게 설정하기


블로거에서 기본으로 제공되는 가젯들 중에는 목록 태그(ul, li)로 이루어진 가젯들이 있습니다. '링크 목록' 가젯이나 '목록' 가젯, '태그' 가젯 등이 그러한 예들인데요.

'깔끔' 템플릿과 '여행' 템플릿에서 이 가젯들은 목록 옆에 점( · )을 표시합니다. 이를 list style이라고 하며, list style은 점외에 숫자나 알파벳 등으로도 표현할 수 있습니다.

먄약 디자인 문제 때문에 이 점들을 없애고 싶다면, list style을 none으로 설정하면 됩니다.

 #위젯id ul {  
 list-style-type:none;  
 }  

위의 코드를 [대시보드 → 템플릿 → 맞춤설정 → 고급 → CSS추가] 의 자리에,
또는 [대시보드 → 템플릿 → HTML편집] 모드에서

 ]]></b:skin>  

코드 바로 앞에 삽입하면 됩니다.

! 참고.

참고로, 위의 코드는 점( · )을 없애주지만, 점이 있던 자리의 빈 공간까지 처리해주지는 않습니다.


점이 있던 자리의 빈 공간 너비까지 설정하려면, padding-left 속성을 추가해주면 됩니다.

 #위젯id ul {  
 list-style-type:none;  
 padding-left:10px;  
 }  

padding-left는 왼쪽 가장자리와 목록 사이의 간격을 설정해줍니다. 10px 대신 자신이 원하는 간격을 입력합니다.


코드 적용의 예와 결과 :

 #TextList1 ul {  
 list-style-type:none;  
 padding-left:5px;  
 }  




구글 블로그(blogger) 태그 목록 꾸미기 #1


블로거에서 태그 가젯을 추가한 후 표시 방법을 '목록'으로 설정하면, 라벨(태그)을 목록 형식으로 볼 수 있습니다. 아래에 소개되는 코드는 태그 목록에 마우스 커서를 갖다대면 태그가 부드럽게 우측으로 이동하는, 간단한 동적 효과를 내주는 코드입니다. CSS의 동적인 효과는 그림이나 글로는 설명하기 힘든 부분이 있으므로, 데모 블로그를 통해 확인하시기 바랍니다.

데모 보기

 #Label1 li a {  
 padding-left:0px;  
 -moz-transition: all .2s ease-in-out;  
 -ms-transition: all .2s ease-in-out;  
 -webkit-transition: all .2s ease-in-out;  
 -o-transition: all .2s ease-in-out;  
 transition: all .2s ease-in-out;  
 }  
   
 #Label1 li a:hover {  
 text-decoration:none;  
 padding-left:15px;  
 }  

코드 설명


태그 가젯은 복수 생성이 가능하므로, widget id는 반드시 Label1이 아닐 수도 있습니다. 코드를 입력하실 때, widget id 자리에는 원하는 태그 가젯의 widget id를 입력해야 합니다.


코드 적용 위치는 [대시보드 → 템플릿 → 맞춤설정 → 고급 → CSS추가], 또는 HTML 편집 모드에서

 ]]></b:skin>  

코드 바로 앞의 자리입니다.

! 코드 적용 전 템플릿을 반드시 백업해두시기 바랍니다.
! 백업한 템플릿으로 테스트용 블로그에서 충분한 테스트를 마친 후 적용하시기 바랍니다.
! 다음 브라우저에서 작동되는 것을 확인하였습니다 : 익스플로러(IE10), 파이어폭스, 크롬



2013년 9월 20일 금요일

구글 블로그(blogger) 링크 목록 위젯 버그 해결 방법


블로거의 링크 목록 위젯은 현재 버그가 있는 상태이고, 이 버그는 Blogger 팀에서 직접 운영하는 Known Issues for Blogger 블로그에서도 공지가 되어 있습니다.


저도 이 버그 때문에 링크 목록을 추가하지 못해서 고생을 한 적이 있는데요. 링크 목록에서 입력이 불가능해지는 버그가 나타날 경우, URL을 키보드로 직접 입력하면 추가/수정/저장 이 가능해집니다.



구글 블로그(blogger) 본문 이미지 호버 효과 #1

블로거 본문 이미지에 마우스 커서를 갖다대면, 그림자가 생기거나 형태가 변형되는 간단한 호버 효과의 몇가지 예입니다.

동적인 효과는 그림이나 글로는 설명하기가 어려우므로, 데모 블로그를 참고하시기 바랍니다.

데모 보기


본문 이미지 호버 효과 데모 1 적용 코드

 .post-body img {  
 border:0;  
 padding:0;  
 -moz-transition: all 1s;  
 -webkit-transition: all 1s;  
 -o-transition: all 1s;  
 -ms-transition: all 1s;  
 transition: all 1s;  
 }  
 .post-body img:hover {  
 box-shadow: 0px 0px 15px #000000;  
 border-radius: 50%;  
 }  


본문 이미지 호버 효과 데모 2 적용 코드

 .post-body img {  
 border:0;  
 padding:6px;  
 -moz-transition: all 1s;  
 -webkit-transition: all 1s;  
 -o-transition: all 1s;  
 -ms-transition: all 1s;  
 transition: all 1s;  
 }  
 .post-body img:hover {  
 box-shadow: 0px 0px 15px #000000;  
 }  


본문 이미지 호버 효과 데모 3 적용 코드

 .post-body img {  
 border:0;  
 padding:0;  
 border-top-right-radius:50%;  
 box-shadow: 0px 0px 15px #000000;  
 -moz-transition: all 1s;  
 -webkit-transition: all 1s;  
 -o-transition: all 1s;  
 -ms-transition: all 1s;  
 transition: all 1s;  
 }  
 .post-body img:hover {  
 border-radius:0;  
 }  


본문 이미지 호버 효과 데모 4 적용 코드

 .post-body img {  
 border:0;  
 padding:0;  
 border-radius:50%;  
 box-shadow: 0px 0px 15px #000000;  
 -moz-transition: all 1s;  
 -webkit-transition: all 1s;  
 -o-transition: all 1s;  
 -ms-transition: all 1s;  
 transition: all 1s;  
 }  
 .post-body img:hover {  
 border-radius:0;  
 }  


다른 CSS 스타일 설정과 마찬가지로, 코드 삽입 위치는 [대시보드 → 템플릿 → 맞춤설정 → 고급 → CSS추가], 또는 HTML 편집 모드에서

 ]]></b:skin>  

코드 바로 앞의 자리입니다.

그림1

! 코드 적용시 한가지 주의해야할 점은 기존 템플릿에 적용되어 있는 본문 이미지의 스타일 설정입니다. 블로그에서 기본으로 제공하고 있는 '깔끔', '풍경', '세련', '무늬', '초현실', '여행' 템플릿의 경우, 템플릿에 따라서 패딩이나, 그림자 등 간단한 스타일 설정이 되어 있는 경우가 있습니다.

 .post-body img  

그런 경우, 위의 본문 이미지 스타일 설정 코드를 찾아서 패딩, 그림자 등 겹치는 부분이나 문제가 될 부분을 삭제하여야 합니다.

! 테스트용 블로그에서 백업한 템플릿으로 충분한 테스트를 마친 후 코드를 적용하시기 바랍니다.


! 코드 내용을 이해하는데 도움이 될 만한 글.
CSS border-radius 이해하기
CSS box-shadow 이해하기



구글 블로그(blogger) 태그 클라우드 꾸미기 #2

태그 클라우드 꾸미기#1에 간단한 transition 호버 효과를 추가해봤습니다. transition 효과는 그림이나 글로는 설명하기 힘든 부분이 있으므로, 데모 블로그를 먼저 보시기 바랍니다.

데모 보기

 .label-size * {   
 color:#2580a2;  
 padding: 3px;   
 margin: 2px;   
 font-size:11px;   
 border:1px solid #2580a2;   
 border-radius:0px;   
 display:block;   
 float:left;   
 text-decoration:none;   
 background:#ffffff;   
 -moz-transition: all .3s ease-in-out;  
 -ms-transition: all .3s ease-in-out;  
 -webkit-transition: all .3s ease-in-out;  
 transition: all .3s ease-in-out;  
 }   
   
 .label-size *:hover {   
 text-decoration:none;   
 background:#000000;  
 color:#dbdbdb;  
 }  

transition 효과만 추가한 것이므로, 기본적인 설정 방법은 #1의 방법과 같습니다. 추가된 부분에 대해서만 따로 설명을 드리면,

그림1

<그림1>에서 보시는 바와 같이, 박스 안의 폰트 색상은 [맞춤설정 → 고급] 의 '링크 색상'과 '방문한 링크 색상'으로 설정합니다. 이 부분을 제외한 나머지는 코드에서 직접 본인의 템플릿에 맞게 수정하시면 됩니다.

그림2

코드는 [대시보드 → 템플릿 → 맞춤설정 → 고급 → CSS추가] 에, 또는 HTML 편집 모드에서

 ]]></b:skin>  

코드 바로 앞에 붙여넣으시면 됩니다.



2013년 9월 16일 월요일

동적뷰 본문 폰트 크기 설정

그림1

동적뷰 사용시 맞춤설정에서 폰트 크기를 아무리 설정 해줘도 본문 폰트 사이즈가 바뀌지 않는데요.

그림2

크롬이나 파이어폭스에서 요소 검사를 했을 때, 동적뷰 본문의 폰트 크기는 일반 템플릿과 달리 article이란 class에 스타일 설정이 되어 있는 것을 볼 수 있었습니다.

 .article {  
 font-size:10px;  
 }  

고로, 동적뷰 본문의 글자 크기를 조절하시려면 위의 코드를 [대시보드 → 템플릿 → 맞춤설정 → 고급 → CSS추가] 에 삽입하시면 됩니다. 삽입하실 때, 10px 자리에는 원하는 픽셀이나 em을 입력하시면 됩니다.


데모 보기


! 내용 수정

아래의 코드로도 본문 폰트 크기를 설정할 수 있습니다.

 .article .article-content {  
 font-size:12px;  
 }  

! 본문의 폰트 크기와 줄 간 간격을 같이 설정하시려면, 아래의 글을 참고하시기 바랍니다.

본문 줄 간 간격 설정하기



당분간 댓글을 일반 댓글로 전환합니다.

현재 블로거 유저들 사이에서는 구글+ 댓글과 관련하여 꽤 많은 문제점들이 보고되고 있습니다. 그 중 한가지는 댓글이 블로그 소유자에게 공지되지 않는다는 것입니다. 즉, 댓글이 달려도 운영자가 댓글이 달렸는지를 확인할 수 없다는 것인데요.

'구글+ 댓글은 블로거의 기능을 향상시키는 것이 아니라,
블로거들을 구글+로 유도하려는 의도' 라는 어느 해외 블로거의 의견

오늘 블로그의 글들을 확인해보다가 저에게 공지되지 않은 댓글들을 꽤 많이 발견했습니다. 블로그 특성상 저에게는 다른 블로거분들과의 피드백이 상당히 중요합니다. 처음에는 크게 문제가 되지 않았는데, 글이 많아지면서 댓글을 확인할 수 없다는 부분이 큰 단점으로 다가오네요. 이러한 부분이 보완될 때까지 당분간 댓글을 일반 댓글로 전환하여 운영하겠습니다.


! 기존에 작성해주신 구글플러스 댓글들은 그대로 유지 보관되며, 댓글 제어 권한은 댓글 작성자가 가지고 있습니다. 원하실 때 언제든 자신의 구글플러스 페이지에서 수정/삭제하실 수 있습니다. 일반 댓글에서는 익명으로도 댓글을 남기실 수 있도록 설정해두었습니다. 필요한 내용, 지적할 내용이 있다면 언제든 댓글을 남겨주세요.