質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

2回答

5646閲覧

縦書きCSSのレイアウト要素の高さがきちんと取得されず、下にある要素の表示がおかしくなる

ruucb

総合スコア8

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2017/06/30 07:00

編集2017/07/04 00:08

###実現したいこと・発生している問題

  • テキストが縦書きのコンテンツページ
  • テキストがコンテンツ内の右端→左端に向けて表示、はみ出しそうだったら次の段に移動する
  • テキストの量には依存させたくなく、コンテンツの高さ(height)や段数(column-count)などを固定値では指定したくない

上記のような仕様で、テキストが縦書きになっているレイアウトのデザインを作っていましたが、
Firefox以外のブラウザ(Chrome・Safari・IE11・Microsoft Edge)で、縦書きコンテンツ下にある通常コンテンツを突き抜けた状態で表示されてしまいます。

2017/06/30 20:00追記>

  • 縦書きレイアウト部分の要素の高さが2段目以降がうまく取得できず(要素につけた背景色が要素と合っていない)、その結果、下にある要素がフッターが変な位置に表示されてしまうのを解消できればと考えています。
  • サンプルだと簡素なレイアウトなのですが、実装するサイトでは縦書きコンテンツの下に高さ不明のコンテンツを色々配置する予定です。

###該当のソースコード
https://codepen.io/ruucb/pen/bRLLzO
上記URLでソースを公開しています。

HTML

1<div class="article__detailWrap"> 2 <div class="article__main"> 3 <div class="container"> 4 5 <article class="template"> 6 <p class="subTitle">テキストタイトル</p> 7 <div class="layout__text"> 8 <p>吾輩は猫である。名前はまだ無い。どこで生れたか頓(とん)と見當がつかぬ。何でも薄暗いじめじめした所でニヤーニヤー泣いて居た事丈は記憶して居る。吾輩はこゝで始めて人間といふものを見た。然(しか)もあとで聞くとそれは書生といふ人間中で一番獰悪(だうあく)な種族であつたさうだ。此書生といふのは時々我々を捕(つかま)へて煮て食ふといふ話である。然し其當時は何といふ考(かんがへ)もなかつたから別段恐しいとも思はなかつた。但(たゞ)彼の掌(てのひら)に載せられてスーと持ち上げられた時何だかフハフハした感じが有つた許(ばか)りである。掌の上で少し落ち付いて書生の顔を見たのが所謂(いはゆる)人間といふものゝ見始(みはじめ)であらう。此時妙なものだと思つた感じが今でも殘つて居る。第一毛を以て装飾されべき筈の顔がつるつるして丸で薬罐(やくわん)だ。其後猫にも大分逢つたがこんな片輪には一度も出會(でく)はした事がない。加之(のみならず)顔の眞中が餘りに突起して居る。そうして其穴の中から時々ぷうぷうと烟(けむり)を吹く。どうも咽(む)せぽくて實に弱つた。是が人間の飲む烟草(たばこ)といふものである事は漸く此頃(このごろ)知つた。</p> 9 </div> 10 </article> 11121314 <article class="template"> 15 <p class="subTitle">テキストタイトル</p> 16 <div class="layout__text"> 17 <p>吾輩は猫である。名前はまだ無い。どこで生れたか頓(とん)と見當がつかぬ。何でも薄暗いじめじめした所でニヤーニヤー泣いて居た事丈は記憶して居る。吾輩はこゝで始めて人間といふものを見た。然(しか)もあとで聞くとそれは書生といふ人間中で一番獰悪(だうあく)な種族であつたさうだ。此書生といふのは時々我々を捕(つかま)へて煮て食ふといふ話である。然し其當時は何といふ考(かんがへ)もなかつたから別段恐しいとも思はなかつた。但(たゞ)彼の掌(てのひら)に載せられてスーと持ち上げられた時何だかフハフハした感じが有つた許(ばか)りである。掌の上で少し落ち付いて書生の顔を見たのが所謂(いはゆる)人間といふものゝ見始(みはじめ)であらう。此時妙なものだと思つた感じが今でも殘つて居る。第一毛を以て装飾されべき筈の顔がつるつるして丸で薬罐(やくわん)だ。其後猫にも大分逢つたがこんな片輪には一度も出會(でく)はした事がない。加之(のみならず)顔の眞中が餘りに突起して居る。そうして其穴の中から時々ぷうぷうと烟(けむり)を吹く。どうも咽(む)せぽくて實に弱つた。是が人間の飲む烟草(たばこ)といふものである事は漸く此頃(このごろ)知つた。</p> 18 </div> 19 </article> 20 </div> 21 </div> 22</div> 23 24<footer class="footer"> 25 copyright表記など 26</footer>

SCSS

1// 大枠コンテンツ 2.article__main { 3 width: 960px; 4 margin: 40px auto; 5 background: #ddd; 6} 7// テキストを囲ってるコンテンツ。テキストの流れは右→左 8.container { 9 width: 700px; 10 background: #f00; 11 margin: 0 auto 0 0; 12 writing-mode: vertical-rl; 13 column-width: 12em; 14 column-gap: 3em; 15 column-rule: 1px solid #ddd; 16} 17// フッターなど下にあるコンテンツ 18.footer { 19 width: 100%; 20 background: #ff0; 21 text-align: center; 22 padding: 40px 0; 23 position: relative; 24 z-index: 2; 25}

###試したこと

  • 大枠(.article__detailWrap)に対してheight指定(height: 2000pxなど)をしてみる

→解消はしたのですが、テキストのボリュームが少ない場合も考慮して出来れば固定値指定は避けたいです。

  • 参考サイトや、縦書きレイアウトのブログを開発者ツールで調べてみたりしたのですが、解決まで至らず…

###補足情報

  • IE10以下は非対応の予定です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

%の指定は試しましたか、どんなデバイスにも有効です。

<style> .article_main { height : 100%; } <style>

投稿2017/07/09 21:53

grandcross_info

総合スコア130

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

.article__mainmarginの40pxを消して.footermargin-top:40px;を追加って感じですかね・・・。chromeで確認しました。
あ、.article__mainmargin-top:40px;が別途必要かな?

あとは、.containeroverflow-y:auto;を入れるとか。。。

投稿2017/06/30 07:39

編集2017/06/30 07:40
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2017/06/30 07:42

あ・・.article__mainにmargin-top:40px;はイカンですね。 結構難しいですね。すみません。 もう少し調整して回答書き直します。
m.ts10806

2017/06/30 07:44

.containerにoverflow-y:auto;はただの現実逃避策みたいなものなので本当に参考程度に・・
ruucb

2017/06/30 07:55

ありがとうございます! 実際のURL(https://codepen.io/ruucb/pen/bRLLzO)を確認いただき調整していただいたのだと思いますが、縦書きテキストの段組はスクロールしていくと合計4段あります(わかりにくくてすみません) 教えていただいた方法を試してみたのですが、多少レイアウトは整ったのですが根本の解決には至らず… 縦書きレイアウト部分の要素の高さが2段目以降がうまく取得できず、フッターがおかしな位置に表示されてしまうのをなんとかできればと考えております。
m.ts10806

2017/06/30 08:00 編集

codepen等々アクセスができない若干特殊な環境のため、ローカルにソースコピーしてエディターでちまちま変更かけてます(^^;) chromeの開発ツールでみると「height:660px;」というのが裏で勝手につけられてるんですよね。 こいつを外せば何とかなるのかなと色々やっていて出来ない中でoverflow-y:auto;で現実逃避してました。
m.ts10806

2017/06/30 08:09

とりあえずフッター固定をしてみると良いです。 https://webkikaku.co.jp/blog/htmlcss/footer-bottom/ ただ、突き抜けてるのはあくまで謎のheight:660pxのせいであってfooterの位置がおかしいわけではないので解決はしなさそうですが・・・
ruucb

2017/06/30 10:40

> codepen等々アクセスができない若干特殊な環境のため、ローカルにソースコピーしてエディターでちまちま変更かけてます(^^;) おお、そうだったのですね… 色々調べいただき有難うございます! フッター固定、たしかにその手がありますね。 サンプルだと簡素なレイアウトなのですが、実装するサイトでは縦書きコンテンツの下に高さ不明のコンテンツを色々配置する予定でして…もう少し調べてみたいと思います、有難うございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問