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

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

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

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

1830閲覧

縦に画像をセンタリングをしたいんです

TChanger

総合スコア69

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/09/11 15:20

誰かお助け下さいませ。

今現在下記のコードを組んでおるのですが、

html

1<div class="wrap"> 2 <h4 class="img box"> 3 <img src="../img/flow_1.png" alt=""> 4 <img src="../img/flow_a.png" alt=""> 5 </h4> 6 <p class="box vt"> 7 先ずはお電話、FAX、メール等でご依頼下さい。<br> 8 <a href="/" title="料金表へ" class="link">ご金額の確認はこちら</a> 9 </p> 10 <div class="box vm"> 11 <img src="../img/flow1.png" alt=""> 12 </div> 13</div> 14 15/* 少し余計な内容も入っております */ 16.wrap{ display: table; } 17div.wrap .box { 18 display: table-cell; 19 margin-right: 20px; 20} 21div.wrap .box:last-child{ 22 margin-right: 0; 23} 24div.wrap p.box { 25 padding: 6% 0 0 5%; 26 width:70%; 27 font-size: 1.2em; 28}

html

1<div class="wrap"> 2・・・・ 3</div>

この上記コードのくくりを5つ複製して立てに並べたいのですが、
下部画像の通り何故か右側へ徐々にずれていってしまいました。
<table>を使いたいとは思ったのですが、以前<table>を乱用するのは良くないという指摘をされたことがあったので、調べて上記の様にしました。)

真っ直ぐに並べるのにどうしたら良いのか教えて頂きたいです。
または、もっと良い方法があるのでしたらご教授頂けると幸いです。
宜しくお願い致します。
結果

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

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

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

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

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

kei344

2016/09/11 15:32

画像とHTMLが一致しません。全体像がわかる画像及びHTML当該部分全体を追記されたほうが回答を得やすいはずです。
guest

回答3

0

提示頂いたソースコードがよくわからなかったので、画像の見た目を実現するために自分だったらどうするかという視点で回答します。(画像の左に何か文字の端が見えますが見えなかったことにします)

ちなみに直接的な回答ではなく、実現するためのポイントを説明しているで参考にしてみてください。

HTML

1<ul class="list"> 2 <li class="item"><img src="/img/item1.png"></li> 3 <li class="yajirushi"><img src="/img/yajirushi.png"></li> 4 <li class="item"><img src="/img/item2.png"></li> 5 <li class="yajirushi"><img src="/img/yajirushi.png"></li> 6 <li class="item"><img src="/img/item3.png"></li> 7 <li class="yajirushi"><img src="/img/yajirushi.png"></li> 8 <li class="item"><img src="/img/item4.png"></li> 9</ul>

css

1.list li { 2 width: 100px; 3 text-align: center; // 領域内で中の文字や画像を中央揃え 4}

参考:text-align …… 行揃えの位置・均等割付を指定する


ただ、文書的に意味のない .yajirushi をHTML内に書くのはナンセンスな気がするのでそういう場合は以下のようにするのもありです。

HTML

1<ul class="list"> 2 <li class="item"><img src="/img/item1.png"></li> 3 <li class="item"><img src="/img/item2.png"></li> 4 <li class="item"><img src="/img/item3.png"></li> 5 <li class="item"><img src="/img/item4.png"></li> 6</ul>

css

1.list { 2 width: 100px; 3} 4.item { 5 text-align: center; // 領域内で中の文字や画像を中央揃え 6} 7.item:after { //擬似要素で矢印をつくる 8 content: ""; 9 display:block; 10 width: 100px; 11 height: 100px; 12 background: url(/img/yajirushi.png) no-repeat; 13 background-position: center; //背景画像の中央配置 14}

どちらのやり方にせよポイントは、以下です。

  • width で中央揃えしたい要素の横領域を揃えて上げる
  • text-align: center; で要素を中央揃え
  • もし背景画像などの場合は background-position: center; で中央配置

投稿2016/09/12 02:17

編集2016/09/12 02:20
5o5o_wagon

総合スコア214

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

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

TChanger

2016/09/12 14:01

ご回答ありがとうございました! 全く思いつかない方法を教えてくださり感謝です! 変に深く考えすぎてしまったみたいです。ありがとうございました!
guest

0

こいつが原因じゃないですか?

CSS

1/* 少し余計な内容も入っております */ 2.wrap{ display: table; } 3div.wrap .box { 4 display: table-cell; //ここでtableと同じ挙動をさせている 5 margin-right: 20px; 6} 7div.wrap .box:last-child{ 8 margin-right: 0; 9} 10div.wrap p.box { 11 padding: 6% 0 0 5%; //こいつに左5%のパディングが入ってる 12 width:70%; 13 font-size: 1.2em; 14}

あと、こういう縦にブロック要素を並べる場合は、

html

1<ul> 2 <li>A</li> 3 <li>B</li> 4 <li>C</li> 5</ul> 6<style> 7ul{ 8 list-style-type: none; 9} 10li{ 11 display: inline-block; 12} 13</style>

これが手っ取り早いですよ。

投稿2016/09/12 02:06

FKM

総合スコア3633

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

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

TChanger

2016/09/12 13:58

ご回答ありがとうございます! 違う方法を教えて下さり助かりました!
guest

0

ベストアンサー

wrapで区切られているため、各warp毎でtable-cellの横幅が決まります。
この場合は最初のboxにwidthを指定してあげることで解決できると思います。

css

1.wrap{ display: table; } 2div.wrap .box { 3 display: table-cell; 4 margin-right: 20px; 5} 6div.wrap h4.box { 7 width:100px; 8} 9div.wrap .box:last-child{ 10 margin-right: 0; 11} 12div.wrap p.box { 13 padding: 6% 0 0 5%; 14 width:70%; 15 font-size: 1.2em; 16}

投稿2016/09/12 01:47

masayoshi0222

総合スコア162

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

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

TChanger

2016/09/12 14:01 編集

ご回答ありがとうございます! 仰るとおりでした! 載せた画像が悪すぎたのですが、他にも横にboxがありましたので、 幅のサイズを指定しましたら、キレイに並びました! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問