
初歩的な質問失礼致します。
webデザイン初心者です。現在サイトの制作中なのですが、<p>要素の長文について何点かわからない所が出てきたので質問させていただきます。
(1) <p>要素で記述した文章の折り返し地点は、<br>を使用しない限り<p>要素に指定したwidth幅によってきまるのでしょうか?
(2) その場合、背景画像を<p>に指定したら自動的にその背景画像も同じwidthになるのでしょうか?
添付画像の上の図のように、<p>要素にcssで背景画像を指定して、その上に上下左右それぞれ余白をとって長文を配置したいのですが、添付画像の下のような状態になってしまいます。 以下がcssです。
p {
background: url(図の水色部分) no-repeat 0 0 ;
width:691px;
padding: 16px 230px 16px 30px;
}
(リセットcssでmargin.padding.borderはそれぞれ0にしてあります。)
<p>を囲む<div>を作ってそれに背景画像を指定して、<p>に折り返したい幅のwidthを、marginで余白を指定する方法がいいのでしょうか?
出来れば<p>要素へのcss指定だけで完結させたいのですが、方法がわかりません。
どなたか初心者にもわかりやすくご教授いただけないでしょうか??
どうかよろしくお願い致します!

No.3ベストアンサー
- 回答日時:
widthの値は初期ではpaddingを含みません
なので
width:691px;
padding: 16px 230px 16px 30px;
だとpの幅は691+230+30pxになります
width:431px;にしましょう
蛇足ながらhtml5だと
box-sizing:border-box;
でwidthをpaddingを含んだ値にできますが
まだ時期的に早いかもしれません
すごくわかりやすかったです!ありがとうございました。
納得がいきました。
backgroundはpaddingまで表示されますもんね。
また機会があれば是非ご指導の程よろしくお願いします!
No.2
- 回答日時:
初心者の方だと思いますが、根本的にとても大きな--重大な---思い違いをされています。
HTMLは、Hyper Text Markup Language の略でマークアップ言語です。それは文書を構成する要素に分解して、それぞれの要素をタグを使用してマークアップするということです。
P要素は、Pargraph(段落) である要素で前後を<p>と</p>でマークアップします。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
段落の意味は小学校レベルですので説明しません。
>文章の折り返し地点は、<br>を使用しない限り
通常の文書では<br>要素は登場しないはずです。
HTML4.01では「(大住所と小住所のように)ひとつの段落でありながら視覚的に改行したいところ」HTML5では「(詩の内部の改行のうに)改行自体がコンテンツの一部である」とされています。
日本語の一般表記では、段落は改行されて、段落の最初の文字が1文字字下げされるように表示します。また段落間はマージンを取りません。
あなたの場合、画像を入れたい場所が文字通り!!!段落ごとなのか、複数の段落を持ちうるブロックなのか質問ではわかりません。
HTML4.01では、セクションをまとめてマークアップする要素(タグ)が用意されていませんから、「id属性及び class属性と併用することで、文書に構造を付加( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )」します。HTML5では、見出しを伴うような集合ならsection( http://standards.mitsue.co.jp/resources/w3c/TR/h … )を使用し、そうでない場合は<div>です。
★HTMLを作成する段階では、それをどのようにプレゼンテーションするかは考えなくて良いです。
★プレゼンテーションはスタイルシートに任せます。
⇒構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
No.1
- 回答日時:
それで間違っていません。
自動で改行されないのは、改行しないように指定しているとか、「テキスト」のように日本語ではなく、「abc」だとかです。
<!DOCTYPE html>
<html lang="ja">
<head>
<style type="text/css">
* {
margin: 0;
padding: 0;
border: none;
}
p {
background: #9ff url() no-repeat 0 0 ;
width:691px;
padding: 16px 230px 16px 30px;
}
</style>
</head>
<body>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するQ&A
- 1 htmlの練習問題をしてます。<h>タグと<p>タグについてです。 <h1>a</h> b <p>c
- 2 liタグの中に<p>タグやら<dl>を入れるのはあり?
- 3 特定の<input >タグ及び<label>タグの部分をCSSで非表示にしたい。
- 4 <p>と<p>と<p>の三つの使い方なんですが・・・?
- 5 <ul>タグを使うと勝手に<p>タグになる
- 6 <H>タグの見出しと<P>タグの本文の間隔について
- 7 【至急!!⠀】HTMLを打っているのですが、<p>など打つ時タブキーを押すと一瞬で<p></p>とな
- 8 CSSでの<ul><li id=n><a>での表示に付いて
- 9 【CSS】<a><image /></a>リンクでイメージの時だけアウトラインを消したい
- 10 CSSだけで<table>の<td>や<tr>要素を並べ替えることができAますでしょうか?
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
外部CSSで画像にリンクを貼りたい
-
5
画像とその下にあるテキストの...
-
6
画像を複数横に並べ、かつそれ...
-
7
ページの上下に白い横線が入る
-
8
WEB上でディレクトリ内の画像を...
-
9
背景固定、文字がスクロールす...
-
10
background-sizeでcontainする...
-
11
background-sizeの背景で最小値...
-
12
背景画像が半分しか表示されない
-
13
両端に背景画像を入れる
-
14
背景画像を反転させる方法
-
15
HTMLで画像を囲むようにテキス...
-
16
CSSで背景画像をランダムに表示...
-
17
背景画像の上に透過GIF背景...
-
18
particles.jsの背景の上にテキ...
-
19
htmlタグで画像を背景に敷き詰...
-
20
CSSでの動画のマスク処理
おすすめ情報