posted by 내.맘.대.로 2022. 10. 27. 15:07

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

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

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

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

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

 

CSS 스타일을 적용하려면 인라인, 내부, 외부 3가지 방법 중 하나를 선택해야 합니다.

 

수업을 하다 보면 수강생들이 만든 EPUB에 인라인 스타일이 잔뜩 포함된걸 자주 보는데, 이런 '짓'은 하지 않아야 합니다.

 

제대로 모르는 사람들은 인라인 스타일을 '써도 되지만 안쓰는게 좋다' 정도로 얘기하는데, '안써야 하지만 특별한 예외 상황에서는 써도 된다'가 맞습니다.

 

이건 누구의 개인적인 의견이 아닌, W3C, Mozilla의 권고.

 

CSS에 대한 가장 정확한 정보를 전달하는 사이트에 뭐라고 나와있는지 볼까요?

https://developer.mozilla.org/en-US/docs/Learn/CSS/First_steps/How_CSS_is_structured

 

Inline Style

 

Avoid using CSS in this way, when possible. It is the opposite of a best practice. First, it is the least efficient implementation of CSS for maintenance. One styling change might require multiple edits within a single web page. Second, inline CSS also mixes (CSS) presentational code with HTML and content, making everything more difficult to read and understand. Separating code and content makes maintenance easier for all who work on the website.

가능하면 CSS를 이런 식으로 사용하지 마세요. 모범 사례의 반대입니다. 첫째, 유지보수를 위한 CSS 구현이 가장 비효율적입니다. 하나의 스타일 변경은 단일 웹 페이지 내에서 여러 번 수정해야 할 수 있습니다. 둘째, 인라인 CSS는 (CSS) 프리젠테이션 코드를 HTML 및 콘텐츠와 혼합하여 모든 것을 읽고 이해하기 어렵게 만듭니다. 코드와 콘텐츠를 분리하면 웹사이트에서 작업하는 모든 사람들이 유지 관리를 더 쉽게 할 수 있습니다.

 

내부 스타일은 조금 덜 엄격하지만, 그래도 사용하지 않는게 좋다고 설명합니다.

 

Internal stylesheet

 

But for sites with more than one page, an internal stylesheet becomes a less efficient way of working. To apply uniform CSS styling to multiple pages using internal stylesheets, you must have an internal stylesheet in every web page that will use the styling. The efficiency penalty carries over to site maintenance too. With CSS in internal stylesheets, there is the risk that even one simple styling change may require edits to multiple web pages.

하지만 페이지가 두 개 이상인 사이트의 경우 내부 스타일시트는 작업의 효율성이 떨어집니다. 내부 스타일시트를 사용하여 여러 페이지에 균일한 CSS 스타일을 적용하려면 해당 스타일을 사용할 모든 웹 페이지에 내부 스타일시트가 있어야 합니다. 효율성 패널티는 사이트 유지 관리에도 적용됩니다. 내부 스타일시트의 CSS를 사용하면 한 번의 간단한 스타일 변경에도 여러 웹 페이지를 편집해야 할 위험이 있습니다.

 

웹에서 '페이지 두 개'는 EPUB에서 본문 xhtml 파일 두개와 같습니다.

xhtml 파일 하나만 넣어 만들 수 있는 전자책은 없을거예요.(뭐... 누군가는 그렇게 만들지도 모르지만요)

그럼 내부(Internal) 스타일시트 사용도 권하지 않습니다.

 

다시 말해,

전자책 만들 때는 무조건 외부(External) 스타일시트를 사용하고,

꼭 필요하면 내부(Internal) 스타일시트를 쓰고,

정말 예외적인 경우에 한하여 인라인(Inline) 스타일 시트를 쓰세요.

정말 예외적인 경우가 무엇인지 모르겠다, 그럼 인라인 스타일은 안쓰면 됩니다.

 

반응형
posted by 내.맘.대.로 2022. 10. 20. 08:51

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

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

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

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

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

 

일러두기는 글자를 아래로 배치해야 하는데,

이게 많이 까다롭습니다.

 

height : 100%;는 먹히지 않습니다.

뷰어의 높이를 height는 감지할 수 없기 때문이지요.

그래서 뷰오 높이를 기준으로 height를 잡을 수 있는 vh를 사용합니다.

 

하지만 vh는 디스플레이의 크기이기 때문에

뷰어의 설정에 따라 100vh가 다음페이지로 넘어갈 수 있습니다.

그래서 대략 80vh를 사용했어요.

 

그런데 이보다 간단한 코드가 있습니다.

 

.box_note {

  position : fixed;

  bottom : 5em;

  margin : 1em;

}

 

이렇게 상자를 만든 후 텍스트를 넣으면 화면 하단에 배치됩니다.

 

이 코드도 완벽하지는 않습니다.

몇가지 문제가 있어요.

그래도 지금까지 찾은 코드 중 가장 간단한 스타일 코드입니다.

반응형
posted by 내.맘.대.로 2022. 7. 27. 14:43

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

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

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

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

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

전자책 편집하다 보면 테두리를 그릴 때가 많습니다.

상하좌우 같은 모양의 테두리는 쉽게 그리는데,

네 모서리 모양이 다르면 어려워 하는 분들이 많은 것 같아요.

이렇게 네 모서리 모양이 다를 때는 어떻게 할까요?

테두리 그리는건 쉽게 생각하세요.

물론, 어려운 테두리도 있습니다.

일정한 패턴 없이 중구난방인 선으로 테두리를 그리면 CSS로 처리하기 어렵지요.

하지만 네 모서리만 모양이 다르다면 어렵지 않아요.

테두리 그리는 법은 여러번 설명했는데,

border-image를 사용합니다.

선이야, 그냥 border 쓰면 되고,

border로 그릴 수 없는 테두리는 border-image를 사용하지요.

border-image 사용법을 익히면 이런 테두리는 어렵지 않게 그릴 수 있어요.

border-image 사용법은 여기에...

https://www.w3schools.com/cssref/css3_pr_border-image.asp

반응형
posted by 내.맘.대.로 2022. 7. 27. 09:42

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

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

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

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

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

이런 스타일입니다.

chapter 1 ──────

이렇게 제목 번호 뒤에 선이 있습니다.

이 선을 그릴 때 예전에 쓰던 스타일은

<div class="chapNo">chapter 1</div>

이렇게 하고

chapNo의 중간에 선으로 된 배경 이미지를 넣고

안쪽 span을 흰색 배경을 채워 chapter 1쪽우로 넘어온 배경선을 숨겼지요.

그런데 이렇게 하면 배경색을 바꿨을 때 chapter 1 부분이 하얗게 보이는 문제가 있었습니다.

이를 해결하려고

<div class="chapNo"><span>chapter 1<span><span></span></div>

이렇게 한 후 chapNo에

display : flex;

앞쪽 span에 적당한 width, 뒤쪽 span에 선배경

이렇게 처리를 했습니다.

그런데 태그가 너무 복잡해졌지요.

그러다 문득, calc가 생각이 났네요.

그래서

<div class="chapNo">chapter 1</div>

이렇게 한 후

chapNo에

배경선을 집어 넣는 것 까지는 똑같이 하지만

background-size를 (100% - 적당한 글자 길이),

background-position 을 가운데 오른쪽

해서 넣으니 간단히 해결이 됐습니다.

뭔 소리인지 모두 이해 하셔지요 ^^b

잘 안되시면 본인이 직접 장성한 스타일과 태그를 올려주세요.

그러면 어떤 부분이 문제인지 답변드리겠습니다.

반응형
posted by 내.맘.대.로 2022. 6. 2. 10:36

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

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

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

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

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

CSS는 계속 바뀝니다.

새로 추가되고, 없어지기도 합니다.

그래서 늘 공부를 해야하지요.

새로 추가된 CSS라고 해도, 이미 몇년 전 부터 사용을 한 분들도 많을거예요.

CSS는 표준이 되기 전에 아주 오랜 시간 테스트를 합니다.

브라우저에 적용이 된 후에도 최소 3~4년 이상 검증을 거치지요.

그래서 '난 오래 전부터 썼는데' 싶은 속성도 '새로운' 표준 CSS라고 할 때가 있습니다.

정확한 구분은 아니지만, css 속성이나 값 앞에

-moz-, -webkit- 같은 브라우저 표시를 해야 한다면 표준 검토 단계의 속성이라고 보시면 됩니다.

최근(이라 해도 2~3년 사이)에 부라우저에서 통합해 사용할 수 있게 된 속성을 3개 소개합니다.

국내 주요 유통사 전자책 뷰어에서 사용 가능한,

전자책 만들 때 아주 유용한 속성들입니다.

* 단, 구형 기기에서는 작동을 하지 않을 수 있습니다.

break-inside

이 속성은 page-break 라는 속성에서 파생된 속성입니다.

표준으로 확정되기 전에는 page-break-inside 라고 표기를 했는데,

표준으로 확정이 되면서 break-inside로 대체되었습니다.

모든 브라우저에서 break-inside를 적용할 수 있습니다.

calc

이건 속성의 값입니다.

width나 height 같이 단위를 값으로 갖는 속성에 사용할 수 있습니다.

아직 최종 확정 상태는 아니지만, 국내 주요 유통사는 모두 지원을 합니다.

이 속성은 1년 전에는 제대로 안먹혔는데, 최근에 다시 테스트를 해 보니 잘 먹히네요.

Attribute Selectors

이건 좀 오래 된 속성이에요.

아직 최종 확정 상태는 아니지만, 국내 주요 유통사 모두 지원을 합니다.

이미지나 글상자 처럼 비슷한 속성이 여려개 필요할 때 사용하면 아주 좋습니다.

똑같은 속성을 서로 다른 클래스에 무한 반복 시킬 때가 종종 있었는데,

이걸로 한방에 해결했지요.

이 3가지 속성을 사용할 때는 다음을 주의하세요.

1. 국내 주요 유통사(교보, 리디, 알라딘, 예스)의 전자책 뷰어에서 확인했습니다.

2. 안드로이드 8 이후 버전에서 테스트 했습니다. 이전 버전에서는 문제가 생길 수 있습니다.

반응형
posted by 내.맘.대.로 2022. 5. 12. 08:58

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

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

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

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

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

책 본문 영역이 아닌, 바깥쪽 여백에 정보를 넣은 편집을 난외 편집이라고 하나봅니다.

이런거요.

일리아스 같은 서사시에 원문의 번역 문장이 원문의 몇번 째 행인지 표기할 때 봤던건데,

전자책으로 이걸 편집해 달라는 요청이 들어왔습니다.

전자책에서는 여백에 난외 표기를 할 수 없습니다.

전자책의 여백은 말 그대로 뷰어가 설정하는 영역이라 그 안에 텍스트를 강제로 넣을 수 없지요.

그래서 종이책과 다른 방법을 찾아야 합니다.

저는 그냥, 난외 표기가 들어가야 하는 문장 뒤에 넣었습니다.

본문과 구분하기 위해 형광펜 스타일을 적용했고요.

난외 표기의 폭은 알 수 없습니다. 1자일 수도, 10자일 수도 있어 표기할 글자 수에 맞게 폭이 바뀌어야 합니다.

그리고, 표기할 문장이 들어간 줄을 따라가야 합니다. 글자 크기가 바뀌거나 화면 폭이 바뀌어 줄의 위치가 달라져도, 난외 표기는 특정 문장을 계속 따라가야 합니다.

 
 
Previous imageNext image
 

왼쪽이나 오른쪽에 마진을 10em 정도 주면, 종이책의 난외 편집처럼 보이게 만들 수 있지만,

그러면 스파트폰처럼 25~30자 정도 들어가는 작은 화면은 반이 여백으로 잡힙니다.

그래서 문장 끝에 스타일을 다르게 해서 난외 편집을 적용했습니다.

음... 미디어쿼리를 쓴다면, 고해상도에서 오른쪽에 여백을 설정 할 수 있겠네요.

이 것 말고 다른 방식으로 난외 편집을 했거나,

난외 편집을 위한 더 좋은 방법이 있을까요?

반응형