HTML/CSS のどんな質問にも必ず優しく答えるスレ 33

2025/01/24(金) 14:07:40.93ID:???
ここは初心者からベテランまで、全ての人を対象に必ず優しく答えるスレです

類似質問、重複質問、丸投げ大いに結構。HTML / CSS 関係の事なら何でもOK
Haml、Sass/Scss、LESS、Stylus、PostCSSなどの関連技術もOK
分からない人は何回聞いても結構。質問するときはIDを出すためにメール欄を
age にすることをおすすめします。

回答してくれる方は優しい人のみ! 質問者に対して暴言を吐く人はこのスレを見るな!!
終わった話を蒸し返すやつは このスレにくるな!!!
自分で調べろという回答も禁止!!回答するかさもなくば何も書き込むな!!
質問側も節度あるレスで!質問前にスレ内を検索しましょう

■次スレについて
基本的にレスナンバー>>980を取った人(立てられない場合は次の宣言者)が立てて下さい
重複を避けるため、独断でスレ立てはせず必ず意思表示をしてから立てて下さい(>>980を取った場合も)
立てられない事が予め分かっている場合は、>>980付近の書き込みは自重しましょう

■前スレ
HTML/CSS のどんな質問に必ず優しく答えるスレ 32
https://mevius.5ch.net/test/read.cgi/hp/1519547237/

■関連スレ
Webサイト制作初心者用質問スレ part253
https://mevius.5ch.net/test/read.cgi/hp/1626528070/

■HTML
HTML Living Standard 日本語訳
https://momdo.github.io/html/index.html

■CSS
Selectors Level 4 日本語訳
https://triple-underscore.github.io/selectors4-ja.html
2025/01/24(金) 19:00:25.82ID:???
■Haml
http://haml.info/

■Sass / Scss
https://sass-lang.com/

■LESS
http://lesscss.org/

■Stylus
http://stylus-lang.com/

■PostCSS
http://postcss.org/
2025/01/24(金) 23:38:52.80ID:???
┌─────┐
│ いちもつ ♪│
└∩───∩┘
  ヽ(`・ω・´)ノ
2025/01/25(土) 13:05:08.62ID:???
ねぇ、教えてよ。
ヘッダー全体を opacity: 0.9 で背景を半透明にしたいんだけど、ヘッダー内にある画像も半透明になっちゃう。

.header {
opacity: 0.9;
}

.header img {
opacity: unset;
}

これは効かない。
どうしたらいい?
2025/01/25(土) 14:30:57.63ID:???
したいことは「ヘッダーを半透明にしたい」ではなく「ヘッダーの背景を半透明にしたい」ということでいいかな

やりかたは背景しだいなんだけど、ぱっと思いつくのは
背景が色→rgbaで半透明の色を指定する
背景が画像→擬似要素にしてopacityを設定する
あたりかな

opacity は子要素含めて作用するので、子要素に別の値を指定すると親からくる値にさらに掛け算するような結果になる
unsetでここだけリセット、みたいのはできないと思われる
2025/01/30(木) 23:36:58.45ID:???
凄く初歩的な質問かもしれませんが、<span>がすでに定義してある時に別のフォントデザインも反映したい時の使い分けはどのようにすればいいでしょうか?

例えば私のブログの<span>ですと吹き出しようなデザインになるようにしてあります

ですが他の箇所では吹き出しデザインを出したくなくてただ色を変えたいだけなのです
2025/01/31(金) 00:33:21.86ID:???
セレクターで対象となる要素を選択してスタイルを指定してやればいい
以下AIより

CSSのセレクターは、HTML要素を選択してスタイルを適用するためのパターンです。以下に、一般的なCSSセレクターの種類をいくつか紹介します。

1. **要素セレクター**:
- 特定のHTML要素を選択します。
- 例: `p { color: blue; }` はすべての `<p>` 要素の文字色を青にします。

2. **クラスセレクター**:
- 特定のクラスを持つ要素を選択します。クラス名の前にドット(`.`)を付けます。
- 例: `.example { font-size: 20px; }` は `class="example"` を持つすべての要素に適用されます。

3. **IDセレクター**:
- 特定のIDを持つ要素を選択します。ID名の前にシャープ(`#`)を付けます。
- 例: `#header { background-color: gray; }` は `id="header"` を持つ要素に適用されます。
2025/01/31(金) 00:33:41.61ID:???
4. **属性セレクター**:
- 特定の属性を持つ要素を選択します。
- 例: `[type="text"] { border: 1px solid black; }` は `type` 属性が `text` のすべての要素に適用されます。

5. **子セレクター**:
- 特定の親要素の直下にある子要素を選択します。親要素と子要素の間に `>` を置きます。
- 例: `ul > li { list-style-type: none; }` は `<ul>` の直下にある `<li>` 要素に適用されます。

6. **隣接兄弟セレクター**:
- 特定の要素の直後にある兄弟要素を選択します。要素の間に `+` を置きます。
- 例: `h1 + p { margin-top: 0; }` は `<h1>` の直後にある `<p>` 要素に適用されます。

7. **一般兄弟セレクター**:
- 特定の要素の後にあるすべての兄弟要素を選択します。要素の間に `~` を置きます。
- 例: `h1 ~ p { color: red; }` は `<h1>` の後にあるすべての `<p>` 要素に適用されます。

8. **擬似クラスセレクター**:
- 特定の状態にある要素を選択します。コロン(`:`)を使用します。
- 例: `a:hover { text-decoration: underline; }` はマウスオーバー時のリンクに適用されます。

9. **擬似要素セレクター**:
- 要素の特定の部分を選択します。二重コロン(`::`)を使用します。
- 例: `p::first-line { font-weight: bold; }` は `<p>` 要素の最初の行に適用されます。

これらのセレクターを組み合わせることで、より具体的なスタイルを適用することができます。CSSセレクターを使いこなすことで、効率的にスタイルを管理できるようになります。
2025/01/31(金) 00:37:13.65ID:???
更に、AIに「特定のspan要素にスタイルを適用するにはどうすればいい?」とか聞けば
いくつかの方法を、もっと具体的に教えてくれる
2025/01/31(金) 01:13:48.18ID:???
ありがとうございます
しかし予想してた解よりもだいぶ複雑であった為に読解に難儀している次第であります
撤退も選択肢のうちの一つとして確かなアピールを示しておりそこにカーソルを合わせるのではないかと自分でもヒヤヒヤしています
2025/01/31(金) 01:28:24.26ID:???
<span>や<div>はあちこちで使うから特定用途専用の設計にしない
<span class="fukidasi"><span class="iro">とかちゃんと付けてあげて
<span class="hukidasi iro">とかもできるから
2025/01/31(金) 01:31:08.27ID:???
ブログってことなんで、どこまで自分でHTMLが書けるかわからないんだけど
そういう「ここにはこのスタイル、あそこにはあのスタイル」みたいな使い分けをするためなら、タグ(spanとか)の使い分けではなく、クラス(タグ内にclass="クラス名")によるスタイルの適用が一般的
2025/01/31(金) 01:34:10.40ID:???
>>10
【例】クラスセレクター: highlightという特定のクラス名が付与されたspan要素にCSSでスタイルを適用

HTML
<span class="highlight">このテキストはハイライトされます。</span>

CSS
.highlight {
background-color: yellow; /* 背景色を黄色に */
font-weight: bold; /* 太字に */
}
2025/01/31(金) 02:02:47.83ID:???
>>11,12,13様
ありがとうございます
まさにそういう答えがほしかったのです
つまりクラスを使えばいくらでもスタイルを作れるということですよね?


ちなみに<span class="ここの部分">
ここの部分のアルファベットは規則はありますか?
極端な話<span class="aaaaa">とかでもいいのでしょうか?

Highlightに関しても名前で分かりやすくするためにそのスペルを使っているだけで、
別にabcというスペルでもいいわけですよね?
2025/01/31(金) 02:22:02.47ID:???
クラス名は識別子でしかないから「:」とか「.」なんかのcss内で使われる記号を含まなければなんでもいいよ
無論、わかりやすいに越したことはないが
今後も修正するのであれば特に
2025/01/31(金) 03:04:43.36ID:???
>>14
>>9にあるようにAIに質問した答えのうちの1つの例が>>13だよ
2025/01/31(金) 03:05:54.42ID:???
CSSのクラス名で使ってはいけない文字や書き方について、以下のポイントを挙げます。

### 使用してはいけない文字
1. **数字で始まる**: クラス名は数字で始めることができません。例: `1class`(無効)、`class1`(有効)。

2. **特殊文字**: クラス名の先頭には、アルファベット(a-z, A-Z)またはアンダースコア(`_`)が必要です。以下の特殊文字は先頭に使用できません。
- ハイフン(`-`)
- アットマーク(`@`)
- シャープ(`#`)
- パーセント(`%`)
- ドル記号(`$`)
- アンパサンド(`&`)
- スラッシュ(`/`)
- バックスラッシュ(`\`)
- スペース(空白)

3. **空白**: クラス名に空白を含めることはできません。空白を含む場合は、ハイフンやアンダースコアで区切る必要があります。
2025/01/31(金) 03:06:30.81ID:???
### 書き方の推奨事項

1. **大文字の使用**: CSSではクラス名は大文字と小文字を区別しますが、一般的には小文字を使用することが推奨されます。例: `myClass`(可読性はあるが、一般的には`my-class`が好まれる)。

2. **予約語の使用**: CSSの予約語(例: `important`)や、特定のフレームワークやライブラリで使用されるクラス名(例: `active`, `disabled`など)を避けることが推奨されます。

3. **意味のある名前**: クラス名はその要素の役割やスタイルを示す意味のある名前にすることが重要です。

これらのルールや推奨事項に従うことで、CSSのクラス名が正しく解釈され、スタイルが適用されるようになります。
2025/01/31(金) 11:14:55.28ID:???
>>15,16,17,18,
詳しくアドバイスありがとうございます
クラス名に記号は使わないほうがよいというのはCSSの記述を漫然と眺めているだけの私でもある程度の予想はつきますので大丈夫でございます
しかしクラスも最近「ははーん、そういうものなのか」という手応えを得た程度のレベルなのでそうした注意も真摯に受け止めておきます

ちなみクラスの記述によるデザインの幅を広げる手法は例えば<p>とか<div>にも極論を言えば無限に使えるということですよね?
2025/01/31(金) 11:20:47.12ID:???
あと>>13でちょっと気になったんですが
cssを記述する時に

.highlight {
background-color: yellow; /* 背景色を黄色に */
font-weight: bold; /* 太字に */
}

これはなぜ.highlightの記述からはじまるのでしょうか?

span.highlight {
background-color: yellow; /* 背景色を黄色に */
font-weight: bold; /* 太字に */
}


これだと失敗しますか?
この方が分かりやすいというか正確な気がするのですが

もしかしてspanをつけないのは<p>や<div>にも流用できるようにするメリットがあるからなのかな?
2025/01/31(金) 12:04:21.63ID:???
>>19
> ちなみクラスの記述によるデザインの幅を広げる手法は例えば<p>とか<div>にも極論を言えば無限に使えるということですよね?

その通りだが、実際には以下の点を考慮して適切に使用することが重要

●クラスの数に関する実用的な制限
1. パフォーマンス: クラスを無限に使うことは可能だが、あまりにも多くのクラスを使用すると、CSSのパフォーマンスに影響を与える可能性がある。特に、非常に大規模なプロジェクトでは、スタイルの適用や計算に時間がかかることがある。
2. 可読性: クラスを多く使いすぎると、HTMLが複雑になり、可読性が低下する。これにより、他の開発者がコードを理解しにくくなる可能性がある。
3. メンテナンス: 多くのクラスを使用すると、スタイルの管理が難しくなり、変更や修正が煩雑になることがある。
2025/01/31(金) 12:17:13.08ID:???
ちなみに、クラスは以下のように複数を定義可能

HTML
<div class="box highlight large"></div>

この場合、box、highlight、largeという3つのクラスがこのdiv要素に適用される

CSS
.box {
padding: 20px;
border: 1px solid #ccc;
}
.highlight {
background-color: yellow;
}
.large {
font-size: 2em;
}
2025/01/31(金) 12:34:33.10ID:???
>>21
ありがとうございます
とても大事注意点ですね

>>22
これは便利ですね 
それぞれの装飾を個別に定義しておきそれぞれを半角スペースをあけて記述すれば呼び出して適用できるわけですか

これちなみに例えばフォントサイズを複数定義しておきたい場合は


.large01 {
font-size: 1em;
}

.large 02{
font-size: 2em;
}

.large 03{
font-size: 3em;
}



このような感じでも大丈夫なんですかね?
やはり文字の大きさは強調したかったりもしますし複数用意しておきたいですので

あとemじゃなくてもpxで大丈夫ですよね?emってあまり見慣れないので
2025/01/31(金) 12:36:21.25ID:???
>>20
> これはなぜ.highlightの記述からはじまるのでしょうか?

全体の構造等の条件が分かって無いので最低限の書き方をしてるだけ
必要であれば要素セレクター(この場合span)だけでなく親要素や疑似クラス等を組み合わせてもいい
同じクラス名を持つpやdiv等の要素には全て同じスタイルを適用したいという場合は、クラスセレクターのみで指定すれば作業は少なくて済む
要はケースバイケースで使い分けろってこと

以下AIより

クラスセレクターと要素セレクターを組み合わせる理由
1. 特定の要素に限定: 要素セレクターを追加することで、特定の要素にのみスタイルを適用できます。これにより、同じクラス名を持つ他の要素に影響を与えずにスタイルを調整できます。
2. 可読性の向上: CSSの可読性が向上し、どの要素にどのスタイルが適用されるかが明確になります。
3. スタイルの衝突を避ける: 同じクラス名を持つ複数の要素がある場合、要素セレクターを使うことで、意図しないスタイルの適用を防ぐことができます。

したがって、クラスセレクターのみでも機能しますが、要素セレクターを組み合わせることで、より具体的で意図的なスタイルの適用が可能になります。状況に応じて使い分けることが重要です。
2025/01/31(金) 12:48:35.69ID:???
>>23
そのCSSを

<div class="large01 large02 large03"></div>

って書きたいってこと?それとも

<div class="box highlight large01"></div>
<div class="box highlight large02"></div>
<div class="box highlight large03"></div>

っていう話?

> このような感じでも大丈夫なんですかね?

いずれにしろ、どうなるかは実際にやってみよう
↓コードを検証するのに便利なサイト
https://jsfiddle.net/
2025/01/31(金) 13:00:17.12ID:???
>>23
ちなみに.large 02と.large 03の「e」と「0」の半角スペースは誤記だと思うんだけど
誤動作の原因になる上に見つけにくいので、手癖なら気を付けた方がいい
2025/01/31(金) 13:30:32.47ID:???
>>24
詳しく教えていただきありがとうございます
色々と事情によって使い分けろという事ですね
あとでじっくり読解したいと思います

>>25
これですと下のような使い方ですね
やっぱり色々なテキストの装飾がしたいからです
HTMLだけならばタグを使って簡単にテキストの装飾は可能なのですが、どうやら今の時代はHTMLタグでの装飾はあまり受け入れられないのでcss記述が必要というわけです
2025/01/31(金) 13:32:42.85ID:???
>>26
完全に誤記ですねw気をつけます
2025/01/31(金) 18:43:15.02ID:???
>>25
色々と教えていただきありがとうございます
spanが被っていてテキストへの装飾をすると予期せぬ箇所のレイアウトへの干渉が起こる問題を教えていただいたクラスを指定するというやり方でうまくいきました
その際に提示されたサイトでテストをして反映される事を確認してから自分のブログへとコピペしましたら成功しました

かなり基本的だろう知識の欠けている私ですが優しくご指南していただきありがとうございました
たぶんこれからも時々質問しにくると思いますのでその際はよろしくお願いいたす!
2025/01/31(金) 18:44:33.90ID:???
このスレのエスパー達のおかげでこんな私でもレイアウトの改造ができるようになったぜ!
2025/02/12(水) 01:22:37.58ID:???
Seesaaブログをやっています
とあるサイトを批判する記事を書きました
当然そのサイトへのリンクを記事に貼り付けるのですが、訪問者がリンクをクリックしてもリファラを飛ばないように出来ますか?

記事内容がそのサイトを批判するものなので、向こうがリファラを辿ってこちらの記事を見に来ると、最悪、名誉棄損などで訴えられるかなと思いまして
できればリファラを飛ばさないようにしたいです

どうすればよいでしょうか?
2025/02/12(水) 01:35:44.01ID:???
rel="noreferrer"じゃなくて?
2025/02/12(水) 02:01:18.64ID:???
ネット上に公開しておきながら知られたくないなんてダサい
2025/02/12(水) 13:10:31.38ID:???
>>32
ありがとうございます
まさしくこれでした

>>33
訴えられることはほぼないとは思いますが、リスクは限りなくゼロにしておきたいです
やっぱり、安全圏から石を投げつけたいじゃないですか
2025/02/12(水) 23:25:26.43ID:???
>>34
死ね
2025/02/13(木) 06:32:52.71ID:???
bot避けもしないと検索されちゃうんじゃね
2025/02/20(木) 20:49:29.27ID:???
初心な質問失礼します!

疑似要素で
p::first-letter
というのがありレイアウト的にいいと思ったのですが、これだと<p>で囲った箇所全てに適用されますよね
それを防ぐためにclassがあると思うのですが、この場合はどのように記述すればよいのでしょうか?
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況