4

私はしばらく CSS を扱ってきましたが、多くのチュートリアルや演習で、CSS タグの最後の行に「;」が含まれていないことがわかりました。それに追加されました。例えば:

ul li:hover ul { 
    display: block
}

ul li ul {
      list-style: none;
      position: absolute;
      display: none;
      width: 104px;
      height: 100px;
      background-image: url(../_img/nav/dropdownbg.1.png);
      background-repeat: no-repeat;
      background-position: center;
      background-position: top
}

ご覧のとおり、2 つの例があります。1 つのタグに 1 行しかないものと、1 つのタグに異なるコマンドを含むものがあります。これを行う理由と理由を知りたいですか?!! 学校では、このことについて何も教えてくれませんでした。最後の行または唯一の行を ";" で閉じます。そしてそれは完全に機能します。

それで、これを行う理由は何ですか?より安全ですか?

4

5 に答える 5

6

関連する質問に対する Šime Vidas の回答もここで有効です。セミコロンは区切り文字であるため、最後のプロパティを区切る必要はありません。

ただし、CSS ルールの最後に別のプロパティを追加する必要があるシナリオでは、セミコロンの必要性を見逃す可能性がはるかに高く、CSS が壊れてしまうため、お勧めしません。

于 2012-08-21T13:19:10.003 に答える
2

スペックは言う

ruleset     : selector? '{' S* declaration? [ ';' S* declaration? ]* '}' S*;

ご覧;のとおり、中括弧で終了することを意味するものではありません。

于 2012-08-21T13:17:46.510 に答える
1

セミコロンは区切り記号です: 物事を区切ります。最後の項目は、後続のものから分離する必要はありません。

于 2012-08-21T13:15:42.097 に答える
1

セミコロンは異なる行を区切るため、最後の行に到達した場合は、行を閉じるだけでなくブロックも閉じる中括弧が表示されるため、セミコロンを入れる必要はありません。

個人的には、とにかくセミコロンを入れたいと思っていますが、省略してもかまいません。

また、チェックしてください。http://www.pagetoscreen.net/journal/item/the_missing_semi-colon/

于 2012-08-21T13:16:33.157 に答える
0

これはルールの最後の行であるため、ルールがないため、次のルールとあいまいになる可能性はありません。そのため、最後のセミコロンを省略してもかまいません。それ以外の場合は、メリットやパフォーマンスの向上はありません。

于 2012-08-21T13:14:53.970 に答える