HTML/CSS のどんな質問にも優しく答えるスレ 32
■ このスレッドは過去ログ倉庫に格納されています
ここは初心者からベテランまで、全ての人を対象に優しく答えるスレです
類似質問、重複質問、丸投げ大いに結構。HTML / CSS 関係の事なら何でもOK
分からない人は何回聞いても結構。質問するときはIDを出すためにメール欄を
age にすることをおすすめします。
回答してくれる方は優しい人のみ! 質問者に対して暴言を吐く人はこのスレを見るな!!
終わった話を蒸し返すやつは このスレにくるな!!!
自分で調べろという回答も禁止!!回答するかさもなくば何も書き込むな!!
質問側も節度あるレスで!質問前にスレ内を検索しましょう
■次スレについて
基本的にレスナンバー>>980を取った人(立てられない場合は次の宣言者)が立てて下さい
重複を避けるため、独断でスレ立てはせず必ず意思表示をしてから立てて下さい(>>980を取った場合も)
立てられない事が予め分かっている場合は、>>980付近の書き込みは自重しましょう
■前スレ
HTML/CSS のどんな質問に必ず優しく答えるスレ 31
https://mevius.5ch.net/test/read.cgi/hp/1517028608/
■関連スレ
Webサイト制作初心者用質問スレ part248
http://mevius.2ch.net/test/read.cgi/hp/1494150188/
■HTML
HTML Living Standard 日本語訳
https://momdo.github.io/html/index.html
■CSS
Selectors Level 4 日本語訳
https://triple-underscore.github.io/selectors4-ja.html あと参考書は出版時期のそれ以前のものが基準だからね remがいい場合もあるし、emがいい場合もありますよね
それにemはかなり以前(CSS2.1あるいはもっと前)からあって、
その時から性格も変わってないと思いますが…。
ともあれ、買ってはいたもののあまり読んでいなかった
「プロとして恥ずかしくない 新・CSSデザインの大原則」が
読んでみると本質に迫っている非常にいい本だと気づいたのは副産物でした それだけ内容が薄い、詳しくないってこと
だから良本や良サイトと呼ばれるものは、何万もある本、サイトの中でほんの一握りもない >>99
そんなことはないよー
cascade(とinherit)についてうやむやなままにしてる人が多いだけだよー >>98
>親要素基準になるのはフォントサイズ指定に使った場合だけ
そのとおり。
仕様にもそう書かれている
継承されるから、何でも親基準であるかのように誤解しやすいだけ Cascading Style Sheetなんだから
あれこれ覚える前に
まず継承についてしっかり知らないといかんですな 表形式のデータを
スプレッドシートにコピペすると
各セルに自動的に分かれる場合と別れない場合がありますが
あれはどういう場合に各セルに分かれるのでしょうか?
↓の形式のデータなら出来るのかと思ったけど
libre office calcなら自動的にセルごとに分かれるのですが
google spreadsheetだと1つのセルにまとまって表示されてしまいます。
<table><tbody><tr><td>1</td><td>2018/3/22</td><td>13:28:49</td><td>7:28:50</td><td>17323</td><td>5529</td></tr><tr> >>110のテーブルデータは例として冒頭部分をコピペしたものです 古い時代でも省略可能だから書かない人多かったと思うけど
自分は<thead>と<tbody>書く派だな
CSSやJSのために >>110です
<br>いれれば行は自動でぶんかつしてくれるようになりましたが
列が自動で分割されてくれません・・・
誰かよろしくお願いします。 たしかJSでtdを追加すると自動でtbodyが追加されて構造が勝手に変えられる記憶があったので
tbodyはつけるようにしてます
cellだったかもしれないけど >>115
innerHTML で追加した場合じゃないか?(パースされるときに自動で追加される)
appendChild などで自動で追加されることはないはず thead,tbodyは通常省略するけど、jsで使う時は付けてるな
例えばAjaxで検索して結果を一覧テーブル更新みたいな時はtheadはそのままでtbodyを空にしてtrで入れていくのでtbodyがあった方が楽だから content:"";
という空のcontentはどういう意味で書いてるんでしょうか? >>118
そのままだけど、なにも書くことがないって意味だよ
アイコンとかそうすることが多いな俺は >>119
空ならなくてもいいと思うのですがわざわざ書く理由は特にないんですか?
例えば
li:before {
content: "";
display: block;
}
は
li:before {
display: block;
}
と同じということでしょうか >>120
違うよ
試してみ
後者は表示されんじゃろ >>120
「空文字」と「存在しない(プログラムではnullと言います)」は違うのです。
前者のcontentは空文字、後者のcontentは存在しない。
contentが存在しない要素は消える。
なので後者はbefore自体が消える。 ということは後者は
たとえli:beforeと記述しても意味がないってことに? >>121
>>122
ありがとうございます。
今やってみてようやく分かりました おかしな話だというのはわかっているのですが、
要素をfloat:leftした上で再度中央寄せする方法ってないでしょうか?
jqueryで追加した要素とその下の要素が重なってしまうのを
display: block + float: leftで回避しているのですが、
なんとか中央寄せしたいのです。 キャプって画像あげるか
コード晒してもらわんと正確に何がしたいか分からんけど >>126
display:flex;あとは調べろ flex-flow: row
margin:auto >>126
もうfloatは旧世代のものになりつつあるのでこれを期にflexを勉強してみては? いや、floatでって質問だろw
なんでfloatなんか使ってるかわからんけどfloat 使う理由があるのかもしれんし
そもそもなにがしたいのかわからん状態だから思いもよらない理由があるんじゃないか
理由聞いた上でそれflex使えよってなるかもだけどw なにがしたいかわからんのにflexが解とは言えないぞ すいません。
動的に追加した要素と元々その下にあった中央寄せしている要素について以下のサイトのような現象が起きていて、
https://ja.stackoverflow.com/questions/33814/html%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%A8%E6%96%87%E5%AD%97%E3%81%8C%E9%87%8D%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%97%E3%81%BE%E3%81%86
提示されている解決策のうち、
display: block + float: left
を適用すれば重なること自体は解決できたのでfloat:leftを使用していました。
みなさんが教えてくださった情報を元に、調べて直してみます。
ありがとうございました。 重なるのをfloatで回避ってのがよくわからないなー
ちなみに重なってるのはfloatが悪いんじゃなくmarginをimgやspanにつけてるから
span(inline要素)には上下marginやpaddingがきかない(ベースライン規準で位置を変化させない)
spanにスタイルつけるときは文字修飾や文字サイズ分の背景をつけるときだけにして
レイアウトの調整は外側にコンテナブロックを作ってそれにつけるのがコーディングマナーだと思う
なのでimgをそのままおくのもよろしくない
外側にdivを作ってその中にimgをおくのがコーディング的にはきれい
あとはdivどうしをどうレイアウトするかはflexなりfloatなりを使えばいいと思う とりあえず解決したのでご報告しておきます
結論から言うと要素の間でclearfixすると要素が重ならなくなり
謎の解決方法?のfloat:leftも使う必要がなくなり再度中央寄せする必要がなくなりました
最初からサンプルを乗せればよかったのですが…すいません。
元々:Prev Nextの真上の6やajaxをクリックするとPrev Nextが重なってしまっていた
http://pilotfarm.uh-oh.jp/gridder/demo/demo.html
floatでなんとかしていたもの:
http://pilotfarm.uh-oh.jp/gridder/demo/demo-float.html
修正後:
http://pilotfarm.uh-oh.jp/gridder/demo/demo-fix.html
大変お騒がせしてすいませんでした。 >>134
spanにIDで属性付けるってとこで?なんだが
こういう風なデザインの場合はflexでやるのがスマートで良いと思う
これを期にflexを導入してみては? 起こっている現象が同じというだけで
そこのサイトの質問者と同じ条件をしているわけではないです
136ではったURLのソースを見てもらうとわかるかと思います(Gridder.jsのdemoほとんどそのままですが)
混乱させてすいません
何にせよflex勉強してみます <div class="parent">
親の中身
<div class="child">この中身</div>
</div>
の親はブラウザ幅最大上下左右中央ぞろえを
parentは
position: relative;
width:100%;
childは
position: absolute;
top: 50%;
left: 50%;
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
で、対応したんですがIEのみtranslateで移動した分?の余白が右に出来ます
overflow:hiddenを使わずに対処できるでしょうか? なんどやってもうまくいかなくて
もうええわ!って、次の日にやったら
ちゃんとできてる現象に名前をつけたい ・リフレッシュ
・気持ちの切り換え
・発想の転換
・落ち着く
お好きなのをどうぞ
まあ強いて言えば「明日の俺はすごい」かな 何度やってもうまくいかない!もうええわ!
って時はリフレッシュすればなんとかなるって俺は知ってるい!
よし少し休もう…
…っは!朝!?
って現象はなんていうの? IEはもう対象から外しても問題ないと思う
今WEBをPCデスクトップで閲覧してるのは全体の10パーセントくらいだから IEユーザーは広告よく踏んでくれるから
無駄とは思えないな
これで子供4人養ってるのに 全体の〜みたいな統計持ち出すと
こいつ大雑把だ!って言われない?
代理店とか客の広報とかとか
自サイトを解析して無視できるほど少ないかどうか判断すべきだと思う まあクライアントがIE対応しろと言ってくるか
個人的にずっとIEをフォローしたいとこはしとけばいいんじゃね?としか 未だにIE6なんか使ってるやつおらんやろってバカにしてたけど
フロッピー使ってるPC見て戦慄した そもそもIE6なんてXP時代の産物だから今の時代にそんな環境で
オンラインするようなのを数に入れる必要はないと思う >>157
独自開発のシステムとか開発終わったソフトの関係上古いPCつかう企業はあるよ
でもさすがにネットするのはそこそこ新しい機体だろ
そもそもフロッピー使うようなPCじゃアナログモデムとかで今のネット回線つかえんだろ 古いPC使うのはオンラインでブラウザ使うとは別問題だしな Flashも今年で締め出しで動かなくなる流れだそうだし時代は移り変わってるなあ いまだにIE使ってる奴いるよ。
アクセスの多いサイト運営してるんだが、ブラウザ別の表示を見ると大昔のゲーム機とかのブラウザからのアクセスがあったりして笑える。 セガなんてだっせーよな。プレステの方がかっけーよな そういや任天堂DSでもブラウザあったよなw
あれ確かOperaベースだったと思うが解析だとなんて表示されるんだ?
3DSはACCESSだったな 客の社長の嫁さんが
「うちのテレビのインターネットで見れない」と言っている
ってのが一番きつかった
8年くらい前 >>161
それがそうでもないとこけっこうあるんだわ
さすがにFDDは付いてても使ってはいないようだが リスト表示で
<ul>
<li>aaa</li>
<li>bbb</li>
</ul>
これの左インデントを狭くしたい場合
<ul style="margin-left:-○○px">というようにマイナスを指定してやるしか
方法はないんですか? >>169
そういうバカを顧客として見るかだなw
顕微鏡で見ないとわからんようなものまでいちいち関わるのはリソースのムダ paddingでもいいし
list-style:noneにして・を文章にいれるなりbeforeにつけるなりしてtext-indentしてもいいし
absoluteでleftを指定してもいい
ただmarginがいちばん自然だと思うけど逆にそれじゃなにがいけないの? >>171
それがそうも言ってられないことけっこうあるんだわ >>170
デフォルトのスタイルのことだったら、ノー
開発ツールで何のどこにmarginやパディングが指定されてるのか観てみるといいよー >>170
リストでも使用用途によって答え変わるかも
こういう質問の場合はlist-styleを使うのか使わないのかを実装方法も明記してほしい
普通はmarginで調整だがこういうのはclass指定でやろう flex使っても結局marginがある要素の左右づめはマイナスmargin必要ですよね? >>177
betweenと空要素の方が若干楽な気がする
運用も含めて考えると >>178
?
marginけしたらmarginのある左右づめじゃなくなるよね?
>>179
質問が曖昧でした
両端の要素には左右margin0になるようにする場合です(左端の要素はleftmargin0,右端の要素はrightmargin0)
要素自体の左(右)詰めは空要素でできています。 >>180
まだ曖昧だ
カラム数が固定なのか変動なのか
固定なら右マージンだけにして
nth-child(カラム数n)だけ右マージン0にするのが定石だと思う
変動だったらどのflex-itemが左右端に来ているかどうか判定できんから
flex-itemのマージンではなく、betweenで空けるしかなかろう もう1つのスレが過疎っていたのでここで質問させていただきます
自分はホームページを作り始めてから間もないのですが、
一応トップページだけは公開出来たのですが、第二以降のディレクトリのアップロードの仕方が分かりません。
例えば、http://aaaa.netというトップページがあったとして、
その下層にhttp://aaaa.net/xxxxやhttp://aaaa.net/xxxxxx、xxxxxxxx等と言ったカテゴリがあるじゃないですか。
それの作り方、と言うかアップロードの仕方がどんなに調べても分からないので教えていただけるとありがたいです。
因みにアップロードにはFFFTPを利用しています。 >>182
FFFTPの左ペインに表示されるファイルを
右ペインにドラッグしてアップロードするように
フォルダをドラッグしてアップロードすればいいよ >>182
その1
アップロードしたいフォルダを右クリック
メニューが開くので「アップロード」をクリック
その2
アップロードしたいフォルダを左クリック
上にアイコンがいっぱい並んでいる中の「↑」をクリック >>181
flex-itemのwidthをcalc((100% / n) -10px)とすることで(nはカラム数)両端marginなしでできました 変わった計算だけど
OKならまあそれはそれでよかった >>183-184
ありがとうございます、アップロードの仕方は分かりました
ただ、第二以降のディレクトリの作り方がよく分かりません。
第二以降のディレクトリの拡張子は好きな文字の羅列の後にhtmlを付けてメモ帳で保存すれば良いのですか? >>187
パソコン自体が初心者なのかな?
フォルダ作って、その中で好きな名前.htmlってすればいいんだよ
URLの
http://example.com/hoge/fuga/hage.html
hoge/ や fuga/ のスラッシュはフォルダって意味
Windowsだとバックスラッシュ(¥マーク)に相当するもの
上のURLだと
ドキュメントルート
├ hoge/
├ fuga/
├ hage.html
ってなる >>188
今ようやく理解しました!ありがとうございました! リキッドではなくなる
というかリキッドだと狭くなった時に見づらくなるといいたいのではなかろうか
それを打開するためのレスポンシブですな >>190
レスポンシブはブレイクポイントでカラム数変えるので問題ないです 変なところで改行されてしまったので
white-space: nowrap
を入れたら改行がなくなりました
ですが改行されたのはホワイトスペースの入ったテキストではなく
日本語なのです
日本語もホワイトスペースと判断されることがあるのでしょうか? >>194
改行とは何かというのを理解したほうが良いぞ
本の小説とか読んだこと有るなら思い出すといい。
まずHTMLというのはもともと英語圏で作られたもので
英語圏の文化で成り立ってるということだ
その英語の小説。どこで改行されてると思う?
単語の区切りのスペースだ。単語の途中で改行されることは基本的にない。
また単語の間のスペースはいくつ有っても一つと同じ扱いだろうってのは想像がつくだろう
一方日本語はどうか? 英語と違って単語の区切りにスペースは存在しない
そして日本語の小説は単語の途中であっても改行されているはずだ
つまりデフォルトでは以下のような違いがあるということだ
英語圏
・単語の途中で改行されない
・各単語はスペースで区切られ、必要な場合にスペースの位置で改行される
日本語
・単語の途中で改行される。
・各単語を区切るスペースはない
・(ただし意図的にスペースを入れた場合は、単語の区切りとみなされ必要な場合に改行される)
じゃあwhite-spaceとは何か? これを改行するかしないか決めるためのものとか
考えてるから理解できない。white-spaceという言葉の意味を考えろ。
ホワイトスペース、空白。つまり英語圏の単語の間にある、空白のことだ
white-spaceとはこの空白をどう制御するか
white-spaceの初期値のノーマルは、英語の小説と同じような感じの設定
nowrapは、各単語の区切りの空白で改行しないためのもの
preは、preserving space algorithm(空白をそのまま残すアルゴリズム)の略だ >>195
> その英語の小説。どこで改行されてると思う?
> 単語の区切りのスペースだ。単語の途中で改行されることは基本的にない。
嘘つけ音節の切れ目にハイフン挿入して単語途中で改行されとるやんけ!
これが基本じゃなく応用だとでも? さて日本語の場合はどうなるか?
日本語は基本的に各単語の間にスペースは存在しない。
つまりだ、white-spaceは関係ないということだ
(もちろん日本語であっても間にスペースを入れればそこで改行されることは有る)
日本語が改行されている時、それは存在しないwhite-spaceで改行されているのではなく
単語の途中で改行されているということだ。
日本語は単語の途中で改行しても良い。日本語とはそういうものだ。小説もそうなってるはずだ。
white-spaceは関係ない。じゃあ何が関係するのかと言うと
単語の途中で改行するかどうかを制御するための
word-wrap (overflow-wrap) と word-break だ なお、スペースで改行すると言ったが、
正確にはスペースの種類による。
改行の対象とならないスペースも存在し
(non-breaking space) がそれだ
スペースと言ってもいろんなスペースが有るのだ ■ このスレッドは過去ログ倉庫に格納されています