html初心者です。画像上に文字を(ウィンドウの大きさに関わらず)常に中央配置
したいのですがうまくいきません。
以下は私が試したコードです。
<p align="center" style="position: relative; text-align:center; ">
<img src="●●●.jpg" width="100%" height="240">
<span style=" position: absolute; top: 15px; left:10px ">
<font size="12" color="#ffffff">文字列</font></br><br>
<font size="5" color="#ffffff"><script type="text/javascript"><!--
document.write('最終更新日:' + document.lastModified);
// --></script></font><br><br>
</span>
</p>
上記のコードだとどうしても文字列が画面左からのピクセル数が固定となってしまいます
原因はコード内のleft:120pxだとわかっているので、text-align: center;に書き換える等、いろいろためしているのですが、どうもうまくいきません。
どなたかご教授いただけないでしょうか?
No.4
- 回答日時:
携帯電話や印刷機には適用されません。
_<style type="text/css">
<!--
/* 一般指定 */
html,body{margin:0;padding:0;}
h1,h2,h3,h4,h5,h6,p{margin:0;line-height:1.6em;}
p{text-indent:1em;}
-->
_</style>
_<style type="text/css" media="screen">
<!--
_/* screenへの指定 */
div.header,div.section,div.footer{
_width:90%;min-width:630px;max-width:1000px;
_margin:0 auto;padding:5px;
}
div.section{position:relative;min-height:400px;}
div.section h2,div.section p,div.section div.section{
_margin:0 200px;
}
div.section div.section{
_width:auto;min-width:0;
_min-height:200px;
}
div.section div.nav,div.section div.aside{
_position:absolute;
_width:190px;height:100%;
_top:0;
}
div.section * p{margin:0;}
div.section div.nav{left:0;}
div.section div.aside{right:0;}
/* 本題のfooterの背景画像と配置 */
div.footer{
_height:240px;
_background:url(./images/background/sky.jpg) 50% 50%;
_text-align:center;
}
/* 分かりやすいように色分け */
div.header{background-color:aqua;}
div.section{background-color:silver;}
div.section div.section{background-color:white;}
div.section div.nav{background-color:lime;}
div.section div.aside{background-color:orange;}
/* 分かりやすいように色分け */
div.header{background-color:aqua;}
div.section{background-color:silver;}
div.section div.section{background-color:white;}
div.section div.nav{background-color:lime;}
div.section div.aside{background-color:orange;}
/* 文字自体は左寄せにするなら下記コメントをはずす。 */
/*
div.footer dl{
width:50%;
margin:0 auto;
text-align:left;
}
*/
-->
_</style>
No.3
- 回答日時:
<font>,<center>要素などは使いません。
15年も前のHTML4.01の勧告以来使うことはなくなった・・・そのHTML4.01はHTML3の反省の上に作られた物で---私はHTML2の時代から---、それ以前のHTMLは酷い物で、デザインのためのタグや、配置にtableを使うなど。
現在のHTMLは、文書構造しか書きません。
<p align="center" style="position: relative; text-align:center; ">
alignは使ってはなりません。代わりにスタイルシートを使います。
<span style=" position: absolute; top: 15px; left:10px ">
spanは、他に適切な要素がないときにidやclassと併用して文書内での意味--構造を示すのに使います。
<font size="12" color="#ffffff">文字列</font></br><br>
fontは使いません。スタイルシートを使います。
</br>は、内容のない要素ですからこの書き方はしません。
<br/>と書く事はある。(XML,XHTMLの場合
<br>は通常のHTMLでは登場しません。住所など特殊なときのみ。
行間はスタイルシートで指定します。
<font size="5" color="#ffffff"><script type="text/javascript">
<!--document.write('最終更新日:' + document.lastModified);// -->
</script></font><br><br>
javascriptだとそれが無効な場合無効です。できれば直接書きましょう。
そうでない場合はSSIを使う。
</span>
</p>
私のHTMLはページのフッターに単純に
<div class="footer">
<h2>文書情報</h2>
<div id="documentHistry">
<dt id="FIRST-PUBLISHED">First Published</dt>
<dd>2013-03-03</dd>
<dt id="LAST-MODIFIED">Last Modified</dt>
<dd>2013-03-03 12:00:00 (JST)</dd>
</dl>
<address>著作表示</address>
</div>
というふうに、文書構造しか書きません。
たったこれだけですから、HTMLのメンテナンスも楽ですし、スタイルシートも簡単になる。背景画像はHTMLには書きません。
★されたい事は想像ですがfooterに背景画像を全幅で置いて、その上に更新情報などを中央に書きたい。
[サンプル]
私がここで良く使う雛型(テンプレート)です。とても簡単に文書構造しか書いてないので、あなたでもメンテナンスできるでしょう。もちろん検索エンジンにも最適(SEO)、携帯電話でも印刷機でも・・
スタイルシートは次の回答で示しますので、とりあえず
Another HTML Lint - Gateway( http://www.htmllint.net/html-lint/htmllint.html# )
の右上の[DATA]をクリックして、ペーストしてチェックして置いてくださいね。
※HTMLガチャンとできていないとスタイルシートが期待通り適用されませんので・・
★タブは_に置換してあるので戻す。
★文字コードはShift_JISです。
☆divに使用されているclass名はHTML5の要素に合わせてあります。
<div class="header"></div> → <header></header>
<div class="section"></div> → <section></section>
以下同様 <nav></nav><aside></aside><footer></footer>となります。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
_<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
_<title>サンプル</title>
_<meta name="author" content="ORUKA1951">
_<meta http-equiv="Content-Style-Type" content="text/css">
_<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" >
_<link rel="START" href="../index.html">
_<style type="text/css">
<!-- ここは後で -->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
__<p>このページでは・・・・</p>
_</div>
_<div class="section">
__<h2>見出し</h2>
__<p>本文はsection</p>
__<div class="section">
___<h3>項見出し</h3>
___<p>本文項記事</p>
___<p>sectionの階層でレベルが判断される</p>
__</div>
__<div class="nav">
___<h3>目次</h3>
___<ol>
____<li>1項</li>
____<li>2項</li>
____<li>3項</li>
___</ol>
__</div>
__<div class="aside">
___<h3>補足記事</h3>
___<p>ここには、本題から外れた(aside)、本題とは直接関係しない記事なので最後に書く</p>
__</div>
_</div>
_<div class="footer">
__<h2>文書情報</h2>
__<dl class="documentHistry">
___<dt id="FIRST-PUBLISHED">First Published</dt>
___<dd>2013-03-03</dd>
___<dt id="LAST-MODIFIED">Last Modified</dt>
___<dd>2013-03-03 12:00:00 (JST)</dd>
__</dl>
__<address>© ORUKA1951 2012 - 2016 All Rights Reserved mailto:*****</address>
_</div>
</body>
</html>
ORUKAさん。丁寧な説明大変有難うございました。また、勉強にもなりました。じっくりと理解して今後の役にたてていきたいと思います。
No.2ベストアンサー
- 回答日時:
画像を背景に文字列を表示
<p style="height:240px; background:url(xxx.jpg); background-size:100% 100%; text-align:center; color:white; font-size:150%; padding:1em;">
文字列 <br> <small>最終更新日: yyyy-mm-dd</small> <br>
</p>
No.1
- 回答日時:
全体をどう表示したいのかわからないので、
答えようがありませんが
<p align="center"> だけ
あるいは<center>文字列</center>
では何でいけないのですか?
font指定とかは別の問題ですから、指定したければすればよい。
あと、img src="●●●.jpg" はここでは関係ないですよね?
あるいはこの周りに文字列を配置したいとか?
私の説明がわかりにくかったようですね申し訳ありません。画像の上に文字を表示(つまり、jpg画像を表示し、その画像の上に文字を中央配置で書く)するというのが、今回実装したかった機能なのです。いずれにしましてもご回答有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS HTMLで特定の文字だけ色を変えたいのですが、指定した色と違う色が反映してしまいます。 下記、「前」 5 2023/06/27 12:08
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
line-height指定で発生する余白...
-
html5でheaderの中にnav
-
一括で全体を右にずらす
-
HTML属性での「""」 「''」違い
-
article、section、hgroup?
-
オシャレな区切り線はありませ...
-
ブログのサイドバーが下にくる
-
htmlのolやulなどlistにtitleや...
-
RMS レフトナビ問題
-
divを追加すると下に隠れてしまう
-
html の divとtable の役割
-
【html&css】太さの違う2本線の...
-
見出しタグのつけ方について
-
htmlの見出しタグ(<h1>)の次...
-
html divボックスの入れ子で中...
-
min-heightとheightの違いについて
-
複数のボタンを等間隔に、かつ...
-
<div id="container">の使いか...
-
div要素が重なってします
-
携帯サイト、ナノでのタグ編集...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのolやulなどlistにtitleや...
-
HTML属性での「""」 「''」違い
-
div要素が重なってします
-
<div id="container">の使いか...
-
複数のボタンを等間隔に、かつ...
-
html の divとtable の役割
-
divとpの使いわけ
-
ヘッダーとフッターだけ背景を...
-
min-heightとheightの違いについて
-
セクションをdivで囲むと見出し...
-
画面を縮小するとカラムが落ち...
-
ヘッダーを左右に二分割する方...
-
1時間30分を簡単に表したいで...
-
スペースを使わず文字位置を揃...
-
CSSで、contentsがfooterに重な...
-
h1に自分自身へのリンクを張...
-
divの中に外部のHTMLを埋め込む
-
divを横に並べる方法
-
hタグの右横に画像を表示
-
h1のテキストサイズよりh2の方...
おすすめ情報