CSSのセレクタ部分にハイフン(-)を使うべきか

8
もう暑くってェ グッタリしちゃってェ…んじに🐈にゃーん🍓🫐🍅🌽🍈🍆🥒🍇🦝 @uupaa

(ε・◇・)з だらだら書いたよー http://t.co/fK9KaHRq 「CSSのセレクタ部分(IDやCLASS)にハイフンとか使われるの好きじゃないなー。ボクはあまり好きじゃないなー」

2012-01-22 01:37:32
azu @azu_re

ハイホンは単語の区切り、アンダーバーは単語の結合。 word-word-word ダブルクリックで単語を選択するのは自然。

2012-01-22 01:45:45
think49 @think49

@azu_re Googleのブログか何かで読んだ記憶がありますね。「URIの単語の区切りには "-" を使うべきである」という主張だった気が。

2012-01-22 01:50:32
azu @azu_re

$("#" + location.hash);をしにくくするためにキャメルケースを使いましょう。とか

2012-01-22 01:51:12
think49 @think49

@uupaa 単語をハイフン(-)で区切るのは属性セレクタ([att|=val])との相性が良かったりします。http://t.co/nE3eiLpR 属性セレクタにはアンダースコア(_)を区切りとするセレクタがありません。

2012-01-22 01:57:23
もう暑くってェ グッタリしちゃってェ…んじに🐈にゃーん🍓🫐🍅🌽🍈🍆🥒🍇🦝 @uupaa

@think49 (ε・◇・)з E[key|="value"] 形式って、実際使うのって lang ぐらいなんだよねー って思って見逃してたー

2012-01-22 02:00:29
think49 @think49

@uupaa JavaScripter としては id="hoge-foo" でグローバル汚染を回避できる(ECMAScript 規定により "-" を変数名に含めることが出来ない)のは大きいですね。 #HTML5 で取り込まれた仕様なので、この対策も現実味を帯びてきました。

2012-01-22 02:00:48
もう暑くってェ グッタリしちゃってェ…んじに🐈にゃーん🍓🫐🍅🌽🍈🍆🥒🍇🦝 @uupaa

@think49 (ε・◇・)з デザイナーさんやコーダーさんのかなりの人が<div id="hoge">でwindow.hoge から触れたり<div id="font-size">でwindow["font-size"]が出来ちゃうの知らなかったりする気もしてるんだ~ #再送

2012-01-22 02:07:00
think49 @think49

@think49 @uupaa グローバル汚染する仕様のURIは http://t.co/NU506eqM ですね。#HTML5 も何でこんな仕様を取り込んだのやら…。

2012-01-22 02:07:08
もう暑くってェ グッタリしちゃってェ…んじに🐈にゃーん🍓🫐🍅🌽🍈🍆🥒🍇🦝 @uupaa

@think49 (ε・◇・)з たしか Firefox 3.6 の時点では <div id="hoge"> で window.hoge にアクセスできなかったはず~ (ちょとFirefox9 でやってみます)

2012-01-22 02:08:26
think49 @think49

@uupaa 私の感覚ではそこそこ知られてしまっている印象ですねー。Q&Aサイトでもちらほら見ます。多分、日本語の解説サイトからコピペしてJavaScriptをよく理解せずに使ってしまっているパターンが…。

2012-01-22 02:09:31
もう暑くってェ グッタリしちゃってェ…んじに🐈にゃーん🍓🫐🍅🌽🍈🍆🥒🍇🦝 @uupaa

@think49 (ε・◇・)з Firefox 9 でも Firefox 3.6 と同じく <div id="hoge"> で window.hoge できてませんでしたー

2012-01-22 02:11:35
toku_bass @toku_bass

@uupaa ほとんど運用しなかったのですが、クラス名のプレフィックスにjsって書いたことはあります。デザイナがこのクラス名をそのまま使うのは避けて、新しいクラス名を追加してもらったほうがいいですよね。

2012-01-22 02:12:14
もう暑くってェ グッタリしちゃってェ…んじに🐈にゃーん🍓🫐🍅🌽🍈🍆🥒🍇🦝 @uupaa

(ε・◇・)з 恐らく明日の朝になると、「CSSはハイフンがー ハイフンがー」と叫ぶ人達にフルボッコにされてそうだけど、ボクはそれでもええーん >< やで

2012-01-22 02:13:57
テラマコ @teramako

できちゃうのは、 <form name="body"/> document.body じゃなかったっけ... id は無理だと思う

2012-01-22 02:14:58
もう暑くってェ グッタリしちゃってェ…んじに🐈にゃーん🍓🫐🍅🌽🍈🍆🥒🍇🦝 @uupaa

@toku_bass (ε・◇・)з ですね。なんか共通ルールとかあると助かるんですけどね~ いつまで待ってもそういう風な流れがないので、ボクも勝手な事いっちゃってますけども

2012-01-22 02:16:48
shogo ohta @os0x

@teramako Firefoxでも互換モードならidがグローバルになりますよ

2012-01-22 02:17:38
テラマコ @teramako

@os0x なるほど、互換モードがありましたか...orz

2012-01-22 02:18:46
think49 @think49

@uupaa 確認しましたー。Fx9 だけ未実装ですね。(OK: GC16, IE8, Op11.60 / Fx9 NG) http://t.co/vTjsDEXv

2012-01-22 02:22:00
think49 @think49

@uupaa あと、window['hoge-foo'] は確認した全ての実装で参照できました。ごめんなさい。hoge-foo による参照は当然のことながら出来ないですね。

2012-01-22 02:23:36
think49 @think49

…と、互換モードがありましたか。

2012-01-22 02:24:28
もう暑くってェ グッタリしちゃってェ…んじに🐈にゃーん🍓🫐🍅🌽🍈🍆🥒🍇🦝 @uupaa

(ε・◇・)з さすがに E:first-child {...} とかも無しだバーローって感じには考えてないので、追記しとかないと…

2012-01-22 02:26:18
げこP @GeckoTang

<form name="form" id="form" class="form" data-form="form"></form>

2012-01-22 02:31:41
think49 @think49

URL云々の件は http://t.co/WMqvbBC9 小文字のみを許容する慣習のあるURLの規定をidの命名規則に持ってくるのは無理があったと反省。

2012-01-22 02:32:21