CSS의 꿈 세로쓰기: 전자책처럼 페이지 단위로 페이지 사연 보내기
7087 단어 JavaScriptCSS
3줄
남용
column-width
하면 됩니다전자 서적 같은 페이지를 보내는 것은 무엇입니까?
↑ 바로 이런 것(iOS의 북스)
애니메이션 자체는 말할 것도 없고, 일반 전자책에서는 종이책이나 PDF 판독기처럼 한 페이지 한 페이지 보낼 수 있다.
좀 더 자세하게 말하자면, 매 페이지의 위아래 좌우에 모두 페이지의 간격이 있다.
다른 한편, Google 웹에서 CSS를 세로로 쓰는 것은 보통 이렇게 됩니다.
↑ 가로 스크롤약쑥의 세로쓰기 화면)
웹 페이지이기 때문에 페이지가 당연히 굴러갑니다!그렇긴 하지만 요즘은 인터넷에서도 로컬 애플리케이션처럼 진행될 수 있기 때문에 전자책 같은 페이지 발송을 실현할 수 있다면 도전해 보고 싶습니다.
순조롭지 못한 방법: 열심히 분할하다
2년 전 나는 "사전에 몇 페이지
<div>
만 하고 가로로 서라!"뭐랄까
<div>
<div>
을 만들어 저쪽으로 흘러들어간다이미지
<div>絹商人のハリスは商用がすんで南ドイツを故国へ帰る途中、この際</div>
<div>ひとつシュトラスブルクから登山鉄道に乗って、じつに三十年もの</div>
<div>歳月を経たこんにち改めて母校を訪ねてみようと、とつぜん思いつ</div>
...
언뜻 보기에 정면공격법은 상당히 괜찮고 실제 행동은 변동이 있지만 아래의 문제는 산더미 같다.원래 처리가 너무 느려요.
<div>
사이즈'영원히 반복요소의 중간에 분할이 필요하면 고통스러워요.
<a href="〜">とっても長い文章</a>
시<a>
중간에 페이지가 필요할 수 있음<div>
〜〜<a href="〜">こんに</a>
</div>
<div>
<a href="〜">ちはー!</a>〜〜
</div>
이런 일이 발생할 수 있고 설치도 번거로우며 무엇보다도 메스꺼움><;당시에 나는 방법을 생각해 볼 수 있을지 생각하고 있었지만, 사실 이런 방법은 도저히 피할 수 없어서, 나는 포기했다
나는 생각났다. 열을 사용할 수 있지 않을까?
CSS에는
column-width
속성이 있으며, 이 속성을 사용하여 열판을 만들 수 있습니다.<div class="sample">ここに文章〜〜〜〜</div>
<style>
.sample {
column-width: 350px;
}
</style>
그리고 이것은 물론 세로 CSS에서도 사용할 수 있다.<div class="sample">ここに文章〜〜〜〜</div>
<style>
.sample {
/* 縦書き指定 */
writing-mode: vertical-rl;
column-width: 350px;
height: 350px; /* column-width と同じ値を入れる */
}
</style>
이렇게 되면 이렇게 될 거야....응?뭘 봤냐!!
열의 각 구획을 전자 서적의 한 페이지 단위로 간주함으로써 스스로 나누지 않아도 된다는 느낌을 나타낼 수 있다!
실제로 해봤어요.
프레젠테이션 페이지
왜 그래?
우선 3열
<div>
/次ページ用
/現在ページ用
를 준비한다.그런 다음 각 텍스트에 수직 쓰기 +
前ページ用
가 지정된 모든 텍스트/CSS를 삽입합니다.이 바탕
column-width
의 요소는 좌표를 한 페이지 위로 이동합니다.또한
次ページ用
의 요소는 좌표를 한 페이지 아래로 이동합니다.이렇게 하면 가운데는 현재 페이지, 왼쪽은 다음 페이지, 오른쪽은 앞 페이지가 나란히 표시됩니다.
여분이 남아있는 부분
前ページ用
등이 안 보이네요.JavaScript를 사용하여 스위칭 작업을 설치한 경우 프레젠테이션 페이지와 같은 모양새가 가능합니다.
높이 계산 정보
'한 페이지를 엇갈리게 한다'는 말은 쉽게 하지만 한 페이지의 높이가 얼마인지, 아니면 전체가 몇 페이지인지는 사전에 결정할 수 없다.이것은 브라우저의 화면 크기에 따라 달라지기 때문에, 그린 후에 반드시 크기를 얻어서 계산해야 한다.
그러나 안타깝게도 세로로 뻗어 있는 것처럼 보이는 DOM의 높이를 설정
overflow: hidden
하더라도 뻗지 않았을 때의 사이즈를 회복한다.길어 보이지만 브라우저에 노출된 것뿐이야...따라서 지정
column-width
된 요소 중 물건(즉 본문 부분)의 마지막 요소의 좌표를 얻으면 전체의 길이를 조사할 수 있다.방금 연설문 원고에는 마지막에 빈
column-width
를 넣고 원소의 좌표를 계산해야 한다.이해하기 쉽게 시연에서 계산용 요소에 빨간색을 칠했다.본문의 마지막 빨간색 봉은 사이즈를 계산하는 요소입니다.
이 방법의 장점과 단점
장점
<div>
중간에 페이지를 바꾸면 어떡하죠...이런 것들을 고려할 필요 없어요좋지 않은 곳
하지만 방법을 잘 사용하고 전단지를 넣는 사기는 자력분할보다 현실적이다!
총결산
우리는 CSS에서 전자서적을 세로로 쓰는 것처럼 페이지 단위로 페이지를 보내는 방법을 모색해 보았다.
그리고 교묘하게 이용
<a>
과 디스플레이 구역을 통해 시뮬레이션을 할 수 있다.하지만 실제 운용을 위해서는 조금 더 머리를 써야 할 부분이 많다.
나는 절대로 세로로 소설을 읽고 싶은 편이기 때문에 언젠가는 브라우저에서 가장 높은 세로쓰기 체험을 체험할 수 있기를 기대한다!
Reference
이 문제에 관하여(CSS의 꿈 세로쓰기: 전자책처럼 페이지 단위로 페이지 사연 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rutan/items/4d038b8ed14c99040617텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)