CSS(スタイルシート)で画像の縦サイズに合わせて、中央揃えで文字を表示したい。
スタイルシートで、画像の縦サイズに合わせて中央揃えで文字を表示したいのですが、
どのように記述したら良いのかわかりません。
下記のようにテーブルを使えば簡単に出来るのですが、
これをスタイルシートのみで表現するにはどのように記述すればいいのでしょうか?
ちなみに左側画像の縦サイズは変わります。
よろしくお願いします。
-------------------------------------------------------------------
<html>
<head>
<title>CSS</title>
<style type="text/css">
<!--
#waku {
width: 451px;
margin: 0;
padding: 6px 8px 6px 8px;
background-color: #008837;
}
-->
</style>
</head>
<body>
<div id="waku">
<table width="435" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="80"><img src="hoge.gif" width="80" height="変わります"></td>
<td width="355" valign="middle">あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお</td>
</tr>
</table>
</div>
</body>
</html>
-------------------------------------------------------------------
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
強制的にしてみました。
何か違うような気もしますが・・・。<html>
<head>
<title>CSS</title>
<style type="text/css">
<!--
#waku {
width: 451px;
margin: 0;
padding:6px 8px 6px 8px;
background-color:#008837;
}
#table {
position:absolute;
top:変わりますの半分px;
width:355px;
}
-->
</style>
</head>
<body>
<div id="waku">
<img src="hoge.gif" width="80" height="変わります">
<div id="table">
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお
</div>
</div>
</body>
</html>
ご回答、ありがとうございます。
テンプレートとして使いたかったので、画像の高さは成りにしたかったのです。
ですので「top:変わりますの半分px;」というのはちょっと難しいです。
ですがheightを変数にしてやればうまくいかもしれません。
一度試してみます。
ありがとうございました。
No.3
- 回答日時:
>文が長くなって改行になると画像の下へ潜るのでNG
#2のCSSでimgでinlineを使われていることから、
vertical-alignがinline要素を縦に(ベースラインに)中央揃えすることは、理解されていると思いますが、
inline要素が並んでいるものが、改行されるということは、「2行目になっている」ということです。
この2行目が1行目の下に潜るといって文句をいうのは、おかしいです。
つまり、テキスト部分をブロック扱いしていることになります。
テキスト部分をブロック扱いするなら、インラインの指定であるvertical-alignが無効になるのは当たり前です。
CSSでブロック要素を縦に中央揃えする方法は、なかったような気がしますので、元通りtableを使われるのがよろしいかと思います。
(ブロック要素を並べて、ブロック要素の上下にマージンをとる方法もあるかもしれませんが、高さが変わる場合なかなかうまくいかないと思います)
この回答への補足
>この2行目が1行目の下に潜るといって文句をいうのは、おかしいです。
>テキスト部分をブロック扱いするなら、インラインの指定であるvertical-alignが無効になるのは当たり前です。
そうですね。下記の2つは、質問する前からうまくいかないとわかっていました。
求めている答えはこれじゃない、とわかっていただくために例を書きました。
やはりテーブルを使うしかないのでしょうか?
CSSは難しいです。
No.2
- 回答日時:
回り込みがダメなら、
IMG配置をfloat指定するしか思いつきませんが、
試してみましたか?
この場合だと
float:left;
ですかね。
段組できるはずです。
この回答への補足
floatを使うとこんなかんじでしょうか。
「vertical-align:middle;」が無視されてしまいます…。
「回り込ませて、真ん中揃え」って文法的にも矛盾しているような気がします。
-------------------------------------------------------------------
<html>
<head>
<title>CSS3</title>
<style type="text/css">
<!--
#waku {
width: 451px;
margin: 0;
padding: 6px 8px 6px 8px;
background-color: #008837;
}
img {
display: inline;
float: left;
vertical-align:middle;
}
.clear {
clear: both;
}
-->
</style>
</head>
<body>
<div id="waku">
<img src="hoge.gif" width="80" height="変わります">あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお
<br class="clear">
</div>
</body>
</html>
-------------------------------------------------------------------
No.1
- 回答日時:
#waku {
…
vertical-align:middle;
}
この回答への補足
もう少し詳細を書いていただけないでしょうか…。
もしかして下記のような事でしょうか。
imgへの「vertical-align:middle;」はすでに試しましたが、これだと文が長くなって改行になると画像の下へ潜るのでNGです。
-------------------------------------------------------------------
<html>
<head>
<title>CSS2</title>
<style type="text/css">
<!--
#waku {
width: 451px;
margin: 0;
padding: 6px 8px 6px 8px;
background-color: #008837;
}
img {
vertical-align:middle;
}
-->
</style>
</head>
<body>
<div id="waku">
<img src="hoge.gif" width="80" height="変わります">あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお</div>
</div>
</body>
</html>
-------------------------------------------------------------------
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS 吹き出し 下記の吹き出しのスタイルシートについて 下記のスタイルシートは左側にアイコンがでる使用にな 1 2022/11/12 17:55
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSのtransform: translate(-50...
-
ホームページビルダー 空白の...
-
文字を中央に寄せる
-
HTMLフォームのSELECTの幅を一...
-
Dreamweaverで画面サイズを一定...
-
ドリームウィーバーでホームペ...
-
線が極端に細いテーブルで、特...
-
pタグによる段落間のアキ調整...
-
CSSでテキストを垂直、中央に設...
-
ヘッダーの上にほんのわずかに...
-
右寄せ表示方法
-
なぜ左に寄っているの?
-
CSSで、文字は左寄せにして、文...
-
*{margin:0px;padding:0px;}と...
-
htmlのタグ間の謎の空白
-
Microsoft1Officeの互換ソフト...
-
エクセルで一部分のセルの高さ...
-
敬語
-
実行結果をデジタル時計みたい...
-
エクセルでサイズ指定でPOP...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSSのtransform: translate(-50...
-
aタグに直接style=""で:hoverを...
-
<h1>タグの後の行間を詰めたい。
-
HTMLフォームのSELECTの幅を一...
-
インラインフレームの表示位置...
-
コードを書いて下さい( ; ; )...
-
端から端まで横線を引きたい
-
INPUT TEXT内の文字位置を指定...
-
なぜ左に寄っているの?
-
FireFoxで見るとブラウザの幅に...
-
iPhone用のサイトの文字がずれ...
-
<legend>で表示されるタイトル...
-
Formタグのブロックの高さについて
-
CSSでh1とその下の文字との行間...
-
Dreamweaverで画面サイズを一定...
-
macとwindowsのレイアウト崩れ...
-
ホームページビルダー 空白の...
-
text-alignの解除の方法
-
パソコンのみで反映される余白...
-
Firefox 横スクロールバーを表...
おすすめ情報