アプリ版:「スタンプのみでお礼する」機能のリリースについて

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;に書き換える等、いろいろためしているのですが、どうもうまくいきません。

どなたかご教授いただけないでしょうか?

A 回答 (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>
    • good
    • 0

<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&#64;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>&copy; ORUKA1951 2012 - 2016 All Rights Reserved mailto:*****</address>
_</div>
</body>
</html>
    • good
    • 0
この回答へのお礼

ORUKAさん。丁寧な説明大変有難うございました。また、勉強にもなりました。じっくりと理解して今後の役にたてていきたいと思います。

お礼日時:2015/08/20 22:30

画像を背景に文字列を表示



<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>
    • good
    • 0

全体をどう表示したいのかわからないので、


答えようがありませんが
<p align="center"> だけ
あるいは<center>文字列</center>
では何でいけないのですか?
font指定とかは別の問題ですから、指定したければすればよい。
あと、img src="●●●.jpg" はここでは関係ないですよね?
あるいはこの周りに文字列を配置したいとか?
    • good
    • 0
この回答へのお礼

私の説明がわかりにくかったようですね申し訳ありません。画像の上に文字を表示(つまり、jpg画像を表示し、その画像の上に文字を中央配置で書く)するというのが、今回実装したかった機能なのです。いずれにしましてもご回答有難うございました。

お礼日時:2015/08/20 22:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!