CSS-де 0 мәнін көрсетіп жатқанда, мен бірліктерді анық белгілеуім керек пе?

Бұл «философия» дәлелінің көп бөлігі, бірақ мұнда ұсынылған практиканың не екенін білгім келеді. Мен «ресми» жауап болған жағдайда, оны Wiki ретінде орнатпаймын.

Әлбетте, 0px және 0em арасында ешқандай айырмашылық жоқ, сондықтан 0-ні көрсетуге болады және бірлік артық (қараңыз: CSS арасындағы айырма 0 және 0em ). Бұл сұраққа жауап берген кейбір адамдар әрқашан бірліктерді шығарып тастау керек деп пайымдады.

Дегенмен, менің ойымша, бұл құрылғыны өткізіп жіберу қате болып табылады, өйткені кейінірек өзгеріс бұл құрылғыны байқаусыз қалдыруы мүмкін. Сондай-ақ құжатта басқа жерде нөл емес элементтерге сәйкес келмейді.

36
Мен әдетте бірнеше байтты үнемдеу үшін бірліктерді жоққа шығарамын.
қосылды автор Vic, көзі

6 жауаптар

Мен сіздерді бірліктерді тастау керек деп сенемін.

Бағдарламашы тұрғысынан 0 == null == none == false , мұндағы 0px == 0px ғана.

Бұл 0 шекарасының енін анықтасаңыз, онда ешқандай шекара болмайды, бірақ 0px шекарасын көрсетсеңіз, 0 px шекарасы жасалады бұл оның идеясы, іс жүзінде 0px дәл сол нәтижені 0 ) береді.

Қосымша ұпайлар

  • бірліктен аз 0 оқуды жеңілдетеді, себебі ол әдеттегі мәндерден оңай ажыратылады.
  • Бірліктерді алып тастау мағынасы бар, себебі оларда жоқ (0 өлшемі, түсі және т.б. болуы мүмкін).

Conclusion: Omit the units in 0. They're not needed and confusing.

57
қосылды
Мен ресми нұсқаулықты бір немесе басқа жолмен күтетін кезімде, CSS spec бұл опционды қалдырады. Бұл жауап ең мұқият және мағыналы болып көрінеді, бірақ мен толықтай келісетініме сенімді емеспін.
қосылды автор Uri, көзі
+1 Мен жиі таңқалдым, және сіздің жауапыңыз толық мағынаға ие болады; «

0px шекарасын анықтасаңыз, онда 0 пиксельдің шекарасы жасалады » мен үшін оны жабады.

қосылды автор Dan Lugg, көзі
Кейбір IDE сіздерді 0px терген кезде ескертеді және CSS мәндері үшін 0 ұсыныңыз. PHPStorm - бұл бір. Бұл мінез-құлық тек осы жауапты қолдайды. +1
қосылды автор AlienWebguy, көзі

Css specifications says that 0 can be written 0. And I've read many times that it is suggested to omit the unit, I can't remember where.

Сондықтан оларды тастаңыз.

See http://www.w3.org/TR/CSS2/syndata.html#length-units

13
қосылды
Мен 'мүмкін' деп көремін, бірақ «керек» бөлігін көрген жоқпын: «Ұзындықтың пішімі (осы ерекшелікте көрсетілген <�ұзындығы арқылы белгіленеді) <�сан> (ондық бөлшекпен немесе онсыз) содан кейін бірлік идентификаторы (мысалы, px, em және т.б.) нөлдік ұзақтықтан кейін, құрылғы идентификаторы міндетті емес. «
қосылды автор Uri, көзі
Хабарлаған сілтеме - сіздің сұрағыңыз туралы бірінші референт, бірақ мен бірлікті қалдыру ұсынылғанын бірнеше рет оқыдым, қайда есімде жоқ.
қосылды автор ʞᴉɯ, көзі

Ағымдағы браузерлерде әзірлеуші ​​құралдары сіз жоғары/төмен курсор пернелерімен өмір сүруді жеңілдетуге болады, бірақ егер құрылғы жоқ 0 көрсетсеңіз, ол жұмыс істемейді, себебі браузер қандай модульді білмейді сіз ұнатасыз және 1 , 2 параметрін орнатасыз ... бірлік болмайды.

Сондықтан, мен бүгінгі күні блокты нөлдік мәндерде де көрсетемін. Кез-келген CSS кішірейтуіші бұл кодты 0 күйіне өзгертеді, осылайша сіз оған қамқорлық қажет емес.

2
қосылды
Бұл жалған, Chrome және Firefox үшін, егер ешбір құрылғы болмаса, «px» қосып, көрсеткі пернелерімен жылжи бастайтыныңызды айта аламын
қосылды автор Brian Leishman, көзі
Ия, сол уақыттан бері бекітілген сияқты.
қосылды автор István Ujj-Mészá, көзі

Мен блокты айтпаймын, бұл CSS-ні ​​қысып, өнімділікті арттырғанда көмектеседі. Бұл көп нәрсе емес, бірақ аздап көмектеседі.

2
қосылды

Мен сондай-ақ бірліктерді нөлдеріммен орналастыруды ұнатамын, себебі ...

  1. IDEs like to have the values there so they can increment them properly, as Istvan mentioned.
  2. I don't have to type the unit later if I put another value in. And I don't have to try and remember to remove the unit if it's zero or put it back if it's not.
  3. One poster said the naked zero was more readable. I find that it's not. When there is a unit, you have context, and that makes it more readable. For example, if I come across a percent sign, I know I use that in different ways than the "px" unit, so I instantly know some of the things it could be.
  4. Another guy, "red", had this to say, which looks like good info. Here's a snippet...

    However, you will notice it if you intended to change a prior value in the cascade. a '0em' says, 'change the prior value to '0em', but a zero may simply say, 'disregard this rule' and leave the prior rule in effect. This may not be at all what you intended with your naked '0'. original article link

2
қосылды
Менің ойымша, 4-тармақта келтірілген мәтін дұрыс емес. Менің тәжірибемде «жалаңаш 0» дегенге мән берсеңіз, ол нөлге тең болады. Ол алдыңғы ережені қолданбайды. Мүмкін бұл қаріптерге қатысты емес, бірақ қаріп өлшемін нөлге теңестіру қажет емес деп ойлаймын.
қосылды автор OMA, көзі
Сонымен қатар, кез келген мәтіндік қаріп өлшемін нөлге теңшеу тіпті іздеу жүйелерінде «жазалануы» мүмкін, себебі ол нақты пайдаланушылар үшін емес, тек іздеу машиналары үшін кілт сөздерді жинақтау тәсілі.
қосылды автор OMA, көзі

Мен әрдайым оқуға жеңілірек болып көрінгендіктен, нөл шықса және қоршаған айналадағы құндылықтардан оңай айырмашылығы бар.

1
қосылды