X



HTML/CSS のどんな質問にも優しく答えるスレ 35
■ このスレッドは過去ログ倉庫に格納されています
0001Name_Not_Found垢版2018/12/10(月) 23:34:18.61ID:Xy1kPhq4
ここは初心者からベテランまで、全ての人を対象に優しく答えるスレです

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

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

質問側も節度あるレスで!質問前にスレ内を検索しましょう

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

■前スレ
HTML/CSS のどんな質問にも優しく答えるスレ 34
http://mevius.5ch.net/test/read.cgi/hp/1538966757/

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

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

■CSS
Selectors Level 4 日本語訳
https://triple-underscore.github.io/selectors4-ja.html
0101Name_Not_Found垢版2018/12/12(水) 17:27:30.33ID:???
>>100
<p>タイトル:どいつもこいつも<br>死ねよマジで</p>
<p>タイトル:どいつもこいつも<br>&nbsp;空白空白死ねよマジで</p>
<style>
p {
margin-bottom: 1em;
}
</style>
0102Name_Not_Found垢版2018/12/12(水) 19:20:06.64ID:???
>>98
ありがと、好きなテンプレートエンジンを使えるのね
実際の使用感を聞きたいな
0104Name_Not_Found垢版2018/12/12(水) 20:19:07.92ID:???
>>102
俺はhandlebarsやmustashが好き。
Pugやslmみたいな省略して書けるんです系のは嫌い。
0105Name_Not_Found垢版2018/12/13(木) 01:39:01.75ID:???
>>73
>同じように <br /> も未知の/という属性

/ は属性とは認識されないはず

>>56
>つまり、SEOガー、SEOガーの話
section、aside、article などは、
SEO ではなく accessibility の話じゃないのかな?
0107Name_Not_Found垢版2018/12/13(木) 02:35:45.13ID:???
>>105
section、aside、article などで
アクセシビリティがどのように変わるというの?
0108Name_Not_Found垢版2018/12/13(木) 09:36:27.26ID:???
>>105
SEOガーいってるやつは負けて荒らすために書いてるだけだから
0109Name_Not_Found垢版2018/12/14(金) 04:50:13.49ID:???
>>107
公式な取り決めとして
<main>やら<nav>やらの意味が定義されると
マシンリーダブルになるんさ

従来のHTMLは
語や句をマークアップする要素は沢山あったんだけど
ブロックについては<form>くらいしか意味のあるものがなくて
セクションを明示するものは全くなかった

だから、たとえばプログラムで
ナビやら広告やらではなく本文部分にアクセスしたい
なんて時に、とても難儀してた

これがHTML5で定義されたセクショニング系要素があると
<nav>や<aside>は本編ではない、<main>が本編、とわかっているので
大変アクセスしやすくなったわけですな


そういう観点でアクセシビリティに大いに寄与している
0110Name_Not_Found垢版2018/12/14(金) 05:38:04.23ID:???
>>109
マシンリーダブルとアクセシビリティにはなんの関係もないですよね
0111Name_Not_Found垢版2018/12/14(金) 06:42:45.30ID:???
>>110
アクセシビリティってのは
ドキュメント内の要素へのアクセス出来やすさ具合のことよ

要素内のコンテンツを得るための障壁がいかに低いか、だけでなく
要素自体へどれだけ到達しやすいか、も重要なファクターなわけよ
0113Name_Not_Found垢版2018/12/14(金) 12:29:12.74ID:hwmv3PxE
国語 : 50点
算数 : 70点

みたいな表を作るとき、HTMLの要素はなにが適してますか?
自分の知識では

&lt;ul&gt;
&lt;li&gt;&lt;label&gt;国語&lt;/label&gt;&lt;label&gt;:&lt;/label&gt;&lt;p&gt;50点&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;label&gt;算数&lt;/label&gt;&lt;label&gt;:&lt;/label&gt;&lt;p&gt;70点&lt;/p&gt;&lt;/li&gt;

とかなんですがlabelでもpでもなんか違う気がしてまして……
0114Name_Not_Found垢版2018/12/14(金) 12:30:12.82ID:hwmv3PxE
ふつうに書き直しました

<ul>
<li><label>国語</label><label>:</label><p>50点</p></li>
<li><label>算数</label><label>:</label><p>70点</p></li>
0118Name_Not_Found垢版2018/12/14(金) 14:25:08.21ID:???
tableを知らない世代が出てきたか。
かつてのHTMLはtableだらけだったんだよ。
0120Name_Not_Found垢版2018/12/14(金) 19:14:05.19ID:???
tableはあえて使ってないからよく知らん
0121Name_Not_Found垢版2018/12/14(金) 19:25:26.57ID:???
表組表現が相応しい場所にはガンガンつかってこ
0123Name_Not_Found垢版2018/12/14(金) 21:47:32.35ID:???
>>116
tableはやめとけwww
そんなことしたら恥ずかしすぎるぞwww
どう考えてもdl
0125Name_Not_Found垢版2018/12/15(土) 00:18:28.29ID:???
dl好きなやつ一定数いるよなあ
dtとddをセットにして括る要素がないから使いづらいと思うんだが
0126Name_Not_Found垢版2018/12/15(土) 09:29:29.49ID:???
>>125
いや基本文章なんてタイトルと本文だろ?
それの繰り返しでhを下げていってhほどでもないものはdlになるわけだから増えるのが当たり前
0127Name_Not_Found垢版2018/12/15(土) 23:19:18.87ID:???
なるほど
ddやliになんでも詰め込んじゃう派か
0128Name_Not_Found垢版2018/12/15(土) 23:58:37.33ID:1XubQe4g
headerとかh1とか邪魔だったんで、display:noneしちゃったんですけど、seo的にやばかったりします?
0129Name_Not_Found垢版2018/12/16(日) 00:15:47.25ID:???
>>113は「表を作る」とはっきり書いているので、<table>が適切なのだろうな
0130Name_Not_Found垢版2018/12/16(日) 01:16:39.10ID:???
>>128
いいえ。SEOなんて嘘、まやかしです。
そんなものありません。HTMLの書き方で変わることなんてありません
0131Name_Not_Found垢版2018/12/16(日) 13:51:40.96ID:???
>>127
また国語勉強しないといけない人?
リストであればいれるでしょ
どうして「なんでも」になるの?
0132Name_Not_Found垢版2018/12/16(日) 14:00:18.39ID:???
表(英語でtable)を入れようとしているから
0133Name_Not_Found垢版2018/12/17(月) 12:16:27.79ID:???
>>125
別に一対一じゃなくていいぞ
dl
 dt
 dd
 dd

でも可能
でもこういう場合は普通hになるけどね

>>128
h1を消すと検索結果の表示が変わる
それでいいなら別に問題はない
0134Name_Not_Found垢版2018/12/17(月) 18:20:16.74ID:???
>>131
>>126を読むと、dtをhnと同等に扱うというよに見受けられるから、じゃね?

俺もたまに、なんで<article>にしないで頑なにdtとddなのかなー
と思うのに出くわす
横からすんませんでした
0135Name_Not_Found垢版2018/12/18(火) 15:00:32.49ID:M6QISECE
海外では最近どこもflexboxのサイトばっかだな
3、4個のカラム横並びにして、でかい写真でごまかす
同じようなデザイン
俺はそういう軟弱なデザインは使わない
htmlにtableでデザイン
cssもいらない
cssは不幸にしかならないよ

サイト作成の依頼募集してます
0137Name_Not_Found垢版2018/12/18(火) 15:33:34.02ID:???
>>133
1対1じゃないところこそが
dtとddをくくってくれる要素がないことが不便なんじゃね?
tableのtrにあたる要素があれば便利なんだけど
0138Name_Not_Found垢版2018/12/18(火) 15:34:18.25ID:???
<html>
Hello World
</html>

これだけありゃあ十分やろ
0139Name_Not_Found垢版2018/12/18(火) 15:36:19.87ID:???
え?なくて区別できるんだからいらんだろ
0140Name_Not_Found垢版2018/12/19(水) 00:31:05.51ID:???
dtに続くddを拾うのに
次のdtが現れるか親dlが終わるまでnextSiblingを1つずつ見てかなきゃならん
ということじゃね?
0141Name_Not_Found垢版2018/12/19(水) 00:32:44.88ID:???
次の</tr>を見る必要があるのと、何の違いがあるというのか
0142Name_Not_Found垢版2018/12/19(水) 00:33:58.50ID:???
このスレの範疇で言えば
tableでは tr:first-child って書けるけど
dlではそれが出来ない、的な
0143Name_Not_Found垢版2018/12/19(水) 00:35:58.94ID:???
>>141
いやいや
trがあるから、thとtdのセットはいちいち数えなくても、trの子要素として拾えるのよ

dlにはtrに当たる要素がないからそれが出来ないって話
0144Name_Not_Found垢版2018/12/19(水) 00:47:53.29ID:???
dl
 dt
 dd
dl
 dt
 dd

別にこういう風に繰り返しても良いんだぞ
0145Name_Not_Found垢版2018/12/19(水) 11:23:45.94ID:???
それだと1つ目と2つ目のdlがセットであることを以下略
0146Name_Not_Found垢版2018/12/19(水) 13:46:09.01ID:???
インプットとラベルを一々二要素に分けたくない  という質問です


<input type="checkbox" id="labelX">sample</input>
<label for="labelX">ラベル</label>

こうすることで文字列「ラベル」をクリックすることにより、「sample」のチェックボックスをオンオフの切り替えが出来ます。
でも、一々こうやって2つの要素を作成しid, for属性を対応させるというのが煩わしいのですが、
1要素だけで「文字列をクリックすることによってオンオフの切り替え」をしたいです。

つまり、「sample」文字列をクリックするだけで「sample」のチェックボックスのオンオフを切り替えられるようにしたいです。
しかも1要素だけで。
0147Name_Not_Found垢版2018/12/19(水) 13:48:55.76ID:???
別の言い方をすると、


<input type="checkbox" style="display:none">click</input>

これだけだと「click」をクリックしてもオンオフの切り替えが出来ませんが、これをオンオフの切り替えが出来るようにしたいです。
1要素で。
0150Name_Not_Found垢版2018/12/19(水) 13:58:36.48ID:G0Sj8YET
>>146
ちょっと変わった書き方だな
こうする人が多いと思う

forを使う場合

<input id="hoge">
<label for="hoge">ここをクリックしてもOK</label>

forを使わない場合

<label>
<input id="hoge">ここをクリックしてもOK
</label>

前者のほうがCSS的な意味で都合が良い場合が多い、と個人的には思う
0151>>147垢版2018/12/19(水) 13:59:15.59ID:???
>>147の要望通りではなかったのですが、

<label><input type="checkbox">sample</input></label>

では、「sample」をクリックするだけでチェックボックスのオンオフ切り替えが出来ますが、
こうすると、cssでinput:checked に対するスタイルの設定が効きません。
なぜでしょうか…
0152Name_Not_Found垢版2018/12/19(水) 13:59:37.56ID:G0Sj8YET
>>146
すまん>>150のforを使わない場合の方は
<input>のidはいらなかった
0153Name_Not_Found垢版2018/12/19(水) 14:01:05.44ID:G0Sj8YET
>>151
input:checkedはあくまでinput要素に対するスタイル

inputは置換インライン要素なので、中身はない
<input>文字列</input>

と書いたところで、文字列はinput要素の中身となるわけじゃない
0154Name_Not_Found垢版2018/12/19(水) 14:03:46.13ID:G0Sj8YET
置換インライン要素ってのは
要素の形成するボックスの中身が何かに置き換えられる要素のこと
主にimg、input、select、video、audioなどのこと

inputは形成するボックスの中身がUI部品に置き換わってる感じ
0155>>147垢版2018/12/19(水) 14:05:00.54ID:???
>>153
なるほど

では、

<label><input type="checkbox" />sample</label>

とすることによって、css側で「子要素のinputがcheckedになっているような親要素labelに対するスタイルの設定」というモノをすれば良いのでしょうか
でも、そんな設定って出来るんですかね
0156>>147垢版2018/12/19(水) 14:12:17.12ID:???
例えば、

<label><input type="checkbox" />sample</label>

これに対して、「sample」をクリックしたら背景を赤にするというのはCSSだけでは無理ですか?
0157>>147垢版2018/12/19(水) 14:12:50.85ID:???
で、再度クリックすると元に戻す
0159Name_Not_Found垢版2018/12/19(水) 14:38:12.64ID:G0Sj8YET
>>156
親は無理なんじゃないかなあ
CSSをごにょごにょしたら出来るのかも知れんけど

input[type="checkbox"]の親のクラスをトグルするJS書いちゃった方が早い気がする
0161Name_Not_Found垢版2018/12/19(水) 14:55:25.87ID:???
> input[type="checkbox"]の親のクラスをトグルするJS書いちゃった方が早い気がする

こういうのがjQueryが得意なことなんだよな。
Reactやvueじゃ面倒になる
0162Name_Not_Found垢版2018/12/19(水) 15:05:21.23ID:G0Sj8YET
>>161
そんなに変わんなくね?

要素アクセスして
changeイベント拾って
parentのclassname変えるだけじゃん?
0163Name_Not_Found垢版2018/12/19(水) 15:12:54.55ID:???
>>162
それを100個作ることを考えてみ。

jQueryだとHTMLはそのままで良くて、
ほんの数行(たぶん3行)書くだけで終わり

Reactやvueを使うとHTMLがガラリと変わってしまい
100個分コードを書かないといけなくなる
0167Name_Not_Found垢版2018/12/19(水) 15:47:58.22ID:???
ReactなんかはJavaScriptを使ってコンポーネントを作って
そのコンポーネントをHTMLで使うという感じ
(といってもHTMLで直接使えないのでJSXとJavaScriptコードの中に書く)

jQueryはHTMLとCSSでコンポーネントを作って
そのコンポーネントにJavaScriptで動きを追加するという感じ
0168Name_Not_Found垢版2018/12/19(水) 16:19:17.93ID:???
>>166
お前バカだからそんなしょーもないレベルのただのテスト環境で勝ち誇ってるってわかってねえんだろ
0169>>147垢版2018/12/19(水) 16:22:48.27ID:???
私のレスに色々知恵を絞って貰ってありがとうございます。
0170Name_Not_Found垢版2018/12/19(水) 17:07:31.73ID:???
>>163
なんか勘違いしているよ

このくらいのことはむしろ
jQueryがあってもなくても大して変わらないタイプのコードだと思う
querySelectorが使えなかった頃なら
Sizzleの使えるjQに若干アドバンテージがあったかも知れんけど
0171Name_Not_Found垢版2018/12/19(水) 19:38:55.77ID:???
>>156
まだ:hasが使えるブラウザは無いのでcssだけでやりたいなら素直にforを使うしかない
0173Name_Not_Found垢版2018/12/19(水) 21:02:46.53ID:???
この程度ならinputの後ろのテキストをspanで囲って兄弟セレクタで色々やるだろ普通
0175Name_Not_Found垢版2018/12/19(水) 21:46:57.27ID:???
>>174
は?なんの話してんの?
標準機能ってなに?
0176Name_Not_Found垢版2018/12/19(水) 22:16:44.03ID:???
>>173
兄弟セレクタなら誰でもできるんじゃね?
質問はlabelをinputの親要素にした時の話だよ
0178Name_Not_Found垢版2018/12/19(水) 23:17:21.81ID:???
今ってキャッシュさせたくないときってどうするのがいいの?
設定してたの全部旧式になっちゃったみたい
0179Name_Not_Found垢版2018/12/19(水) 23:26:18.98ID:???
<label><input type="checkbox"><span>sample</span></label>
input:checked + span { background-color: red; }
こうすればいいって事か
0180Name_Not_Found垢版2018/12/19(水) 23:32:52.02ID:QYl2QVIC
>>166
俺は164ではないけどこんな感じかなん?
jqueryのソースをほぼ展開しただけみたいな

document.querySelectorAll('input[type="checkbox"]').forEach((e) =>{
e.addEventListener("click", function (e) {e.currentTarget.parentNode.classList.toggle("checked")})
});
0181Name_Not_Found垢版2018/12/20(木) 00:20:00.84ID:???
>>180
jQuery版に比べて動的に増減した場合には対応できないって問題点があるね
あと要素の数だけクロージャーが生成されるのでリソースの無駄とか
querySelectorAllの要素にforEachが使えない場合があるとか
作り込みが甘い
0183Name_Not_Found垢版2018/12/20(木) 00:32:32.01ID:???
ブラウザのコード数百万行に比べれば
無視できるレベル
0184Name_Not_Found垢版2018/12/20(木) 01:00:35.88ID:???
document.addEventListener("click", e => {
const t = e.target;
if (t.nodeName === "INPUT" && t.type === "checkbox") {
t.parentNode.classList.toggle("checked");
}
});
実際にはclickイベント拾うのは並べてある要素でいいし
inputに同じclass与えておいてそっちで判定した方がいいと思うけど
0185Name_Not_Found垢版2018/12/20(木) 01:09:27.58ID:???
まあ作りどうこうはともかく

>>163
> 100個分コードを書かないといけなくなる

は「そんなこたーないんじゃね」ってことだね
0186Name_Not_Found垢版2018/12/20(木) 01:18:16.39ID:???
> は「そんなこたーないんじゃね」ってことだね

いや、反論まだ出てないんだが・・・

四の五の言わずに>>166に対してreactのコードを書けと
vueでもいいんやで
0187Name_Not_Found垢版2018/12/20(木) 07:40:28.99ID:???
誰もjQが劣ってるとかいってるわけじゃないんだから
優位性を語るのは他所でやってくれんかね
0188Name_Not_Found垢版2018/12/20(木) 07:45:18.79ID:???
優位性じゃなくて適材適所だな
誰もゲーム作るのにjQueryを使えとか言ってない

ウェブの大半を占めるウェブサイトはが、これからもアプリ開発なんかするわけもなく、
ウェブサイトとして欲しい機能はこれからも対して変わらないのだから
jQueryが適切という話しかしてない
0189Name_Not_Found垢版2018/12/20(木) 07:54:10.45ID:???
わかった
よくわかったから、もう自由に書いていいから

次からコテつけるかID出してお願い
全部保存して家宝にするから
0190Name_Not_Found垢版2018/12/20(木) 08:02:43.79ID:???
言われなくても自由に書いてる
IDつけるかどうかも俺の自由だ
0195Name_Not_Found垢版2018/12/20(木) 16:57:41.95ID:???
>>190
空気読めよNGするって言ってんだよ
公共の場では他人に配慮しろよ学校で習っただろ
0196Name_Not_Found垢版2018/12/20(木) 19:12:05.36ID:???
>>195
一つ一つNGにすればいいのでは?
俺が気を使う必要はないよね
0198Name_Not_Found垢版2018/12/20(木) 21:13:05.17ID:???
>>194
いい悪いじゃなくて標準機能ってなんだよって
0199Name_Not_Found垢版2018/12/22(土) 03:05:29.52ID:9YhHEmfN
IME(日本語入力ソフト)が変換前文字列の下に出すアンダーライン(横線)って、色とか変えられるんでしたっけ?
text-decoration-colorはダメっぽかったです
黒線のままだと、黒背景のとき困るなと思い…

キャレット(縦線)の色はcaret-colorで変えられるんですが、これで一緒にアンダーラインの色まで変わったりはしないようです…
0200Name_Not_Found垢版2018/12/22(土) 10:03:26.88ID:???
>>199
PCならすぐ下に候補でるから困ら無いと思うけど
OS依存だと思う
■ このスレッドは過去ログ倉庫に格納されています

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