posted by 내.맘.대.로 2014. 8. 12. 15:34

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.


제목과 문단, 문단과 문단 사이에 간격을 주고 싶을 때 margin 속성을 많이 사용합니다. 뷰어에서 상하좌우 여백을 줄때도 margin 속성을 적용합니다. 


body {

margin : 5%;

}


이렇게 여백을 주면 뷰어 화면에서 상하좌우에 일정한 간격이 생겨 텍스트가 가득한 글을 읽을 때 가독성에 여유가 생깁니다. 


그런데 여백을 줄 때 margin을 많이 사용하지만 padding이라는 속성도 있습니다. 이 둘은 적용된 결과를 보면 아무런 차이도 없기 때문에 구분 없이 사용하기도 합니다. 하지만 이 둘에는 아주 큰 차이가 있어 정확한 쓰임을 모르고 사용할 경우 의도하지 않은 결과가 생길 수 있습니다. 


이 둘의 차이를 한마디로 정의하면 이렇습니다.


margin : 글상자(border) 바깥쪽 여백

padding : 글상자 안쪽 여백



이해에 도움이 되도록 그림으로 설명을 하겠습니다. 


margin과 padding은 테두리가 보이지 않으면 똑같은 스타일이 적용된 것 처럼 보입니다. margin :5%;와 padding 5%;는 모두 상하좌우 여백이 5%씩 적용됩니다. 하지만 테두리를 그려보면 그 차이는 명확해집니다. margin:5%는 글자에 맞게 테두리가 그려지고 테두리 밖에 여백이 5%가 적용되지만 padding:5%는 글자와 테두리 사이에 5%의 여백이 적용됩니다. 


예를 들어 아래처럼 글상자를 2개 만들고 글상자와 글상자 사이에 여백을 넣고 싶을때는 margin을 적용합니다. 아래 글상자는 padding을 0으로 적용했기 때문에 글상자와 글자 사이에 여백이 없습니다. 대신 글상자 바깥쪽 여백, 즉 margin이 20px가 되기 때문에 글상자가 서로 떨어집니다. 

margin :20px; padding : 0px;

margin :20px; padding : 0px;


아래 글상자는 반대로 margin을 0으로, padding을 20px로 적용했습니다. 다른 스타일은 동일하고 margin과 padding만 바꿨는데 글상자의 크기부터 달라집니다. padding을 적용하면 글자와 글상자 사이에 여백이 생기기 때문에 글상자가 커집니다. 그리고 margin, 글상자 바깥쪽 여백은 0이기 때문에 두 글상자가 붙게됩니다. 


margin :0px; padding : 20px;

margin :0px; padding : 20px;


위 글상자를 테두리와 배경색을 없애면 아래처럼 보입니다. padding이 margin보다 조금 넓게 여백이 적용되는 것을 볼 수 있습니다.  


margin :20px; padding : 0px;

margin :20px; padding : 0px;

margin :0px; padding : 20px;

margin :0px; padding : 20px;


전자책을 만들 때 문단이나 전체 여백을 주고 싶다면 margin을 권합니다. padding은 글상자 안쪽의 여백이기 때문에 인용구처럼 한단을 들어가도록 표현하거나 내어쓰기를 할 때 사용하면 좋습니다. margin을 이용해서 내어쓰기를 표현할 때가 있는데 아래 예제를 보고 어느쪽이 더 좋은지 스스로 판단해 보기시 바랍니다. 


▶ padding으로 내어쓰기 표현 : padding-left: 50px; text-indent: -2em; 적용

전자책을 만들 때 문단에 여백을 주고 싶다면 margin을 권합니다. padding은 글상자 안쪽의 여백이기 때문에 인용구처럼 한단을 들어가도록 표현하거나 내어쓰기를 할 때 사용하면 좋습니다. margin을 이용해서 내어쓰기를 표현할 때가 있는데 아래 예제를 보고 어느쪽이 더 좋은지 스스로 판단해 보기시 바랍니다. 




▶ margin으로 내어쓰기 표현 : margin-left: 50px; text-indent: -2em; 적용

전자책을 만들 때 문단에 여백을 주고 싶다면 margin을 권합니다. padding은 글상자 안쪽의 여백이기 때문에 인용구처럼 한단을 들어가도록 표현하거나 내어쓰기를 할 때 사용하면 좋습니다. margin을 이용해서 내어쓰기를 표현할 때가 있는데 아래 예제를 보고 어느쪽이 더 좋은지 스스로 판단해 보기시 바랍니다. 




반응형
posted by 내.맘.대.로 2014. 8. 7. 16:46

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

CSS는 하나의 선택자에 여러개의 속성을 정의한 스타일의 묶음이다. 그리고 이 스타일의 묶음을 하나의 파일로 묶어 CSS 파일을 만들 수 있다. CSS 파일로 만든 스타일의 묶음을 앞으로는 CSS 템플릿이라고 하겠다. CSS 템플릿은 하나만 만들어 두면 모든 전자책에 사용할 수 있다. 문학전집처럼 같은 유형의 책이면 편집 스타일이 비슷하기 때문에 템플릿 하나로 동일한 편집 스타일을 유지하며 작업할 수 있고, 소설과 인문처럼 분야가 다르더라도 책의 구성 요소는 크게 차이나지 않아 스타일 속성만 변경하면 전혀 다른 느낌의 편집을 적용할 수 있다.


CSS 속성은 종류가 170가지가 넘어 모두 설명하기는 어렵다. 여기에서는 전자책 편집에서 많이 쓰이는 CSS를 중심으로 설명하고 여기서 설명하지 않은 속성이 필요하다면 책이나 w3c 등 웹사이트를 참고하기 바란다.


* 추천도서 : 쉽고 빠르게 익히는 CSS3

   - CSS에 대해 쉽게 설명을 한 책으로 '이상한 나라의 앨리스' 영문판으로 CSS가 어떻게 적용되는지 설명을 하고 있어 전자책 관점에서 CSS를 이해할 수 있다.

* 추천 사이트 : W3C CSS2 명세(한글 번역)   w3schools.com/CSS Tutorial

   - CSS는 W3C에서 표준을 제정하기 때문에 W3C 문서를 보는 것이 가장 정확하다. 하지만 W3C문서는 기술문서로 일반인이 이해하기 어렵고, 번역이 매끄럽지 못하다. w3schools는 CSS에 대해 튜토리얼과 레퍼런스로 구분해서 설명이 되어 있다. 필요한 속성의 쓰임과 속성에 적용할 수 있는 값을 쉽게 찾아볼 수 있다.


CSS를 만드는데 정해진 규칙은 없다. 기술적으로 문제가 없다면 만드는 사람이 원하는 형태로 만들면 된다. 혼자 사용하는 CSS라면 어떤 형태로 만들어도 문제되지 않는다. 하지만 템플릿 형태로 CSS를 만들어 반복해서 사용하거나 여러사람이 공동으로 사용하는 CSS라면 최대한 이해하기 쉽게 만들어야 한다. 


전자책을 편집할 때 가장 많이 사용하는 태그는 제목에 쓰이는 <h1> ~ <h6>과 <p>태그다. 이 외에 주석이나 설명을 위한 스타일이 필요하다면 이 역시 태그를 이용하는게 좋다. 많은 EPUB 편집자들이 태그보다는 클래스를 많이 사용한다. 하지만 클래스를 사용하려면 태그 내에 클래스를 적용해야 하기 때문에 편집이 불편하고 문서가 복잡해진다. 태그에 스타일을 적용할 수 있다면 클래스 보다는 태그를 사용하는게 좋다.


▶ 태그에 스타일 적용

p{

본문 스타일

}


<p>태그에 스타일을 적용하면 클래스를 추가하지 않아도 되기 때문에 편집이 편하다.</p>

<p>태그에 스타일을 적용하면 클래스를 추가하지 않아도 되기 때문에 편집이 편하다.</p>


▶ 클래스에 스타일 적용

txt_main {

본문 스타일

}


<p class="txt_main">태그에 스타일을 적용하면 클래스를 추가하지 않아도 되기 때문에 편집이 편하다.</p>

<p class="txt_main">태그에 스타일을 적용하면 클래스를 추가하지 않아도 되기 때문에 편집이 편하다.</p>


위 예에서 볼 수 있듯이 태그에 스타일을 적용하면 태그만 사용해도 스타일이 적용된다. 문서도 간결해지고 편집하기도 편하다. 하지만 클래스로 스타일을 적용하면 문단의 수만큼 태그에 클래스를 지정해야 하기 때문에 편집하는데 시간이 오래 걸리고 문서가 복잡해진다. 

편집이 아주 복잡한 책이 아니라면 스타일이 많을 필요가 없다. 대부분의 책은 본문, 단어나 문장의 강조, 단어나 문장의 인용, 문단의 인용, 첨자 정도로 구성돼 있다. 여기에 문서 전체의 공통 스타일, 왼쪽/오른쪽/가운데 정렬, 주석, 글자색 등 책에 따라 필요한 몇가지 클래스만 추가하면 기본 CSS가 완성된다. 


클래스 이름은 용도를 한눈에 파악할 수 있게 쉽고 명확하게 작성해야 한다. 클래스 이름을 't_0001'로 만들었다면 클래스 이름만 보고 용도를 알 수 없다. 'text_align_center'로 클래스 이름을 만들면 명확하기는 하지만 이름이 너무 길어 클래스를 적용하기 불편하다. 'txt_center' 혹은 'txt_c', 'txt_l', 'txt_r' 등 규칙을 정해 이름을 만들면 이해도 쉽고 간결하게 사용할 수 있다. 

참고로 클래스 이름은 영문으로 시작해야하고 숫자를 사용할 수 있으며 공백은 포함하지 않아야 한다. 


스타일시트에 설명이 필요할 경우 /* ... */로 설명을 추가할 수 있다. /* ... */ 사이에 있는 내용은 문서에 아무런 영향을 주지 않는 설명을 위한 코드다. 


▶CSS 템플릿 기본 구조 예시

* {

/*공통 스타일

문서 전체에 공통으로 적용되는 여백, 줄간격, 문단정렬 등*/

}


h1{

/*부 제목 스타일*/

}


h2{

/*장 제목 스타일*/

}


h3{

/*절 제목 스타일*/

}


p{

/*본문 스타일*/

}


cite{

/*짧은 인용문이나 주석 스타일

p태그 안에서 사용*/

}


blockquote{

문장 인용

}


strong {

/*단어나 문장의 강조

p태그 안에서 사용*/

}


sup{

/*윗첨자

p태그 안에서 사용*/

}


sub{

/*아랫첨자

p태그 안에서 사용*/

}


/*필요에 따라 클래스 추가*/


aside{

/* 주석 스타일. EPUB3를 지원하지 않는 뷰어에서는 사용할 수 없음 */

}


.txt_center {

text-align:center;

text-indent: 0px; !important /* 강제로 들여쓰기를 하지 않음 */

}


.txt_left {

text-align:left;

text-indent: 0px; !important /* 강제로 들여쓰기를 하지 않음 */}

}


.txt_right {

text-align:right;

text-indent: 0px; !important /* 강제로 들여쓰기를 하지 않음 */

}


.img_left {

float:left; /* 이미지를 문단의 왼쪽에 배치 */

}


.img_right {

float:right; /* 이미지를 문단의 오른쪽에 배치 */

}


반응형
posted by 내.맘.대.로 2014. 8. 7. 14:48

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

선택자를 정했다면 이제 선택자에 스타일을 적용해야 한다. CSS에서는 스타일을 적용하는 수십가지 속성이 있고, 각 속성별로 적용할 수 있는 값이 정해져 있다. 예를 들어 글자 크기를 지정하고 싶다면 font-size의 속성을 선택하고 원하는 크기(값)를 정의하면 된다.


p {

font-size : 1em;

color : red;

}




속성은 글자, 색, 테두리, 여백, 위치 지정 등 다양한 속성이 정의되어 있으며 하나의 선택자에 여러개의 속성을 지정할 수 있다. 


속성에 따라 속성의 값은 달라진다. 그리고 하나의 속성에 여러 형태의 값이 있을 수 있다. font-size에는 em, %, px 등 일정 비율로 텍스트의 크기를 지정하는 속성이 올 수 있고, small, medium, large, x-large 처럼 특정 사이즈를 지정하는 값도 올 수 있다.


값은 속성의 특성에 따라 형태가 달라진다. 글자 크기(font-size) 속성이라면 값은 1em, 100%, 20px처럼 크기를 나타내는 숫자가 오고, 글자 색 속성이라면 blue, red, white, #FF00FF, rgb(255,0,255) 같은 색과 관련된 값이 올 수 있다. border-style처럼 선과 관련된 속성에는 solid, dotted, hidden 같이 선과 관련된 단어가 올 수 있으며 이런 단어들은 속성별로 정해져 있다.


하나의 속성에 여러개의 값이 올 수도 있다.


p{

border : 5px dotted red;

}



p{

border : 5px dotted;

}



테두리를 구성하는 요소는 선의 두께, 종류, 색 등이 복합적으로 표현되야 한다. 이런 속성은 각 요소에 해당하는 값을 한번에 지정할 수 있다. 여러 값을 한번에 지정하려면 각 값을 공백으로 구분해 준다. 이렇게 한번에 여러개의 값을 가질때는 몇가지 값을 무시해도 된다. {border : 5px dotted red;}는 5픽셀의 빨간색 점선이 그려지고, {border : 5px dotted;}는 5픽셀의 점선(기본 색은 검정)이 그려진다. 하지만 선의 스타일(dotted) 값을 무시하면 다른 속성이 표현되지 않는다. 그리고 이런 속성은 대부분 각 요소에 해당하는 속성을 구분해서 지정할 수 있게 되어 있다.


p{

border-width : 5px;

border-style : dotted;

border-color : red;

}




반응형
posted by 내.맘.대.로 2014. 8. 6. 17:51

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

CSS 스타일은 선택자와 스타일 속성, 그리고 속성에 대한 값으로 이루어진다. 이중 선택자는 스타일 속성의 묶음이다. 선택자 하나에 여러 스타일 속성-글자크기, 여백, 색, 테두리 등-을 지정할 수 있으며 문서에서는 이 선택자를 이용해 글자나 문단에 스타일을 적용할 수 있다. (CSS 기본 구조 참고)  선택자는 태그, 클래스, ID, 그룹 등 여러 방식으로 지정할 수 있다.


1. 태그 선택자

    - 태그를 선택자로 사용하면 HTML 태그 스타일을 변경할 수 있다. 예를 들어 <h1>태그의 기본 글자 크기와 줄간격은 뷰어에 따라 정해져 있다. 그런데 CSS 파일에서 <h1>태그에 스타일을 적용하면 본문에서 <h1> 태그에 아무런 스타일을 지정하지 않아도 CSS에서 지정한 스타일이 적용된다. 

CSS 스타일 시트를 만들때 h, p 태그 등 많이 사용하는 태그는 태그 선택자로 스타일을 적용해 두면 태그별로 스타일을 지정할 필요가 없기 때문에 편집하는데 시간을 절약할 수 있다. 모든 태그에 스타일을 지정할 수 있으며 동일한 스타일이 반복되는 텍스트 관련 태그(p, hx, cite, strong 등)에 스타일을 지정하면 편하게 사용할 수 있다.


style.css

=======

h1 {

     font-size:1.5em;

h2 {

     font-size:1.2em;

h3 {

     font-size:1em;

=======


style.html


<h1>(h1)책 제목</h1>

<h2>(h2)부 제목</h2>

<h3>(h3)장 제목</h3>

<p>(p)본문</p>



h 태그에 스타일을 적용했을 때


h 태그에 스타일을 적용하지 않았을 때

 


2. 클래스 선택자

    - CSS에서 가장 많이 사용하는 선택자이다. 태그 선택자는 지정된 태그 명을 사용해야 하지만 클래스 선택자는 클래스의 이름을 성격에 맞게 정할 수 있다.(단, 영문과 숫자를 권장한다) 예를 들어 이미지와 관련된 클래스라면 앞에 img를, 텍스트와 관련된 클래스라면 txt를 붙이는 식이다. 이미지 편집을 위해 왼쪽정렬, 오른쪽 정렬, 가운데 정렬을 많이 사용한다면 img_left, img_right, img_center 처럼 클래스의 쓰임에 따라 이름을 지정하면 된다. 

클래스를 지정하려면 .(점dot)을 찍고 클래스 이름을 쓴 후 스타일을 지정하면 된다. 클래스 이름은 사용자가 해당 클래스의 쓰임을 쉽게 파악할 수 있게 지정하는게 좋다. 


.class_name { 스타일  }


클래스를 태그에 사용하기 위해서는 class라는 속성을 사용한다.


<p class="class_name">내용</p> 


style.css

=========

.img_center {

         text-align=center;

}

.img_left{

         text-align : left;

}

.img_right{

         text-align : right;

}

=========


style.html

=========

<img class="img_center" src="sample.png" alt"샘플" />



3. 태그에 종속된 클래스

    - 클래스는 특정 태그에 종속된 형태로 사용할 수도 있다. <p> 태그와 <h1> 태그에 가운데 정렬을 적용하고 싶은데 <p> 태그는 글자 색을 빨간색으로, <h1>태그는 글자 색을 파란색으로 하고 싶다고 하자. 이럴때 클래스 명을 center로 지정하면서 <p>태그와 <h1>태그에 서로 다른 스타일이 적용되도록 할 수 있다. 


태그.class_name { 스타일  }


style.css

==========

h1.center {

    text-align:center;

    color:blue;

p.center {

    text-align:center;

    color:red;

==========


style.html

==========

<h1 class="center">(h1)책 제목</h1>


<p class="center">(p)본문</p>



h1 태그와 p 태그에 center 클래스를 지정했지만 

태그에 종속된 클래스로 인해 서로 다른 스타일이 적용된다.


 

4. 그룹 선택자

    - 태그나 클래스에 동일한 스타일을 적용할 경우 그룹으로 묶을 수 있다. 만약 h1, h2, h3에 동일한 스타일을 적용하고 싶다면 각 태그에 스타일을 적용할 수도 있지만 그룹으로 지정해서 한번에 스타일을 적용할 수 있다. 그룹으로 선택자를 지정하려면 선택자를 ,(콤마)로 구분해서 나열한 후 스타일을 지정한다.


h1, h2, h3 { 공통 스타일 }



style.css

==========

h1, h2, h3 {

     text-align:center;

     color:blue;

}

==========


style.html

==========

<h1>(h1)책 제목</h1>

<h2>(h2)책 제목</h2>

<h3>(h3)책 제목</h3>


그룹으로 선택자를 지정하면 

개별 속성은 유지하면서 그룹으로 지정한 속성은 공통으로 적용된다.



5. ID 선택자

    - ID 선택자는 클래스 선택자와 유사하지만 스타일을 적용할 때 class 대신 ID를 사용한다. 하나의 ID는 문서 내에서 반드시 한번만 사용할 수 있다. ID는 특정 위치로 이동하거나 특정 단어의 주석을 연결해 주는 역할을 하기 때문에 동일한 ID가 한 문서에 하나 이상 사용될 수 없다. 그래서 ID 선택자는 많이 사용하지 않는다. ID 선택자는 선택자 이름 앞에 #을 붙이고, 반드시 영문으로 시작해야 한다.


#selector_name { 스타일 }


<p ID="selector_name"> 내용 </p>


style.css

==========

#commant_01 {

     font-size:0.8em;

     color:blue;

}

#commant_02 {

     font-size:0.8em;

     color:red;

}


style.html

==========

<p id="commant_01">첫번째 주석</p>

<p id="commant_02">두번째 주석</p>


**

ID는 문서 내에 특정 위치나 특정 내용을 연결할 때 사용한다. 그렇기 때문에 하나의 단락에는 하나의 ID만 사용할 수 있다. 다만 해당 내용을 참고하거나 그 위치로 이동하는 링크에는 여러번 사용 가능하다.

 




반응형