2009-06-01 3 views
17

CSS 차이

margin: 0; 

난 아무것도 알아 차리지 않았다 사이에 어떤 차이가 있습니까,하지만 선생님은 같은 아니라고 말해 유지합니다.

+23

교사가 틀립니다. – inspite

+4

고등학교 물리학을 생각 나게합니다. 유닛을 배치하지 않으면 문제가 잘못되었습니다. – Robert

+6

물리학 (HS 수준에서 매우 까다롭게해야 함)에서는 올바른 숫자 값을 얻는 것보다 단위를 올바르게 가져 오는 것이 훨씬 중요합니다. 예를 들어, 지구 표면에 중력 가속도가 필요하고 자주 사용되는 10m/s^2 근사법을 적용하면 방금 "조금 벗어났습니다"(허용되는 값은 9.81m/s^2). 9.82 m/s를 사용한다면, W. Pauli의 말을 바꾸기 위해 당신은 틀리지도 않습니다. 공학에서 단위와 정확한 크기 순서는 모두 다. –

답변

37

값이 0 인 경우에는 차이가 없습니다. 1과 1em 인 경우 차이는 있지만 0은 단위에 관계없이 0입니다.

+1

이고 0이면 "차이가 없습니다". 0 %, 0cm, 0in, 0pt 등이 0이되도록 CSS의 모든 단위가 정의됩니다. –

+28

이것은 사과와 코끼리에도 마찬가지입니다. – inspite

+1

따라서 값이 0 인 경우 단위가 중복되므로 항상 단위를 생략해야합니다. –

3

0은 0입니다. 유닛이 다른지 여부에 관계없이. 파생 된 픽셀 값은 항상 동일합니다 (0).

8

0 바나나는 0 사과와 같지 않습니다. 그래서 어떤면에서 그는 맞지만 제로는 0이므로 어느 쪽이든 배고프면 끝날 것입니다!

+0

글쎄, 까다 롭다 - 일반적으로 0 개의 바나나는 0 개의 사과와 동일하지 않습니다. 예 : var a = 새 목록 ()은 var b = 새 목록 ()과 다릅니다. 그러나이 경우 사과와 바나나, em 또는 px가 실제로 계산되지 않기 때문에 동일합니다. em 또는 px 단위로 DISTANCE를 계산합니다. 그 질문이 "바나나 단위 나 사과 단위의 상자의 용량은 무엇입니까?"그런 다음 '0'은 '0 바나나'와 '0 사과'와 동일합니다. –

+0

나는 그가 맞다고 말합니다. – PatrikAkerstrand

13

파일 크기가 0em 일 때 커집니다.


방법

는 차이가 0em 0에 뭔가 다른 것을 설정하고 방화범 또는 유사한 도구를 사용하여 DOM을 검사하는 것입니다 없다는 것을 당신의 교수로 증명한다. 내가 정확히 기억한다면 두 가지가 모두 0이라는 것을 알게 될 것입니다. 그래서 유일한 차이점은 소스에 있습니다. (하지만 확인한 지 얼마되지 않았습니다. jQuery에서 스타일을 가져오고 설정하려고 생각할 수도 있습니다. 내 말을하기 전에 확인해보십시오.)

+2

Hehe, true. "em"튀긴 CSS 파일이 일반 "0"것보다 약간 큽니다. – Kriem

5

선생님이 강조 표시하려고하는 것이지, 그렇지 않은지 궁금합니다. 0과 0em은 같은 값이 아니지만 아마도 CSS의 기본 단위가 em이 아닐 수도 있습니다. (나는 spec이 0이 아닌 값에 단위가 첨부되어 있지만 종종 px라고 가정합니다).

특정 예에서 분명히 동일합니다.

3

귀하의 선생님은 바보입니다.

어쩌면 외모가 현혹 될 수 있습니다. 선생님에게 그들이 의미 한 바를 물어봐야합니다.

제가 물어야합니다. 왜 선생님이 처음에 말했을 때 그들이 무엇을 의미하는지 묻지 않았습니까? 유닛이 무엇이든 0은 제로입니다.

+0

예, 교수님의 의견을 듣고 싶습니다. 답장을 보내주세요. – Nosredna

+0

선생님의 답장 수정보기 :) –

0

0과 0em은 동일하지만 x와 xem이 0이 아닌 다른 값은 동일하지 않습니다.

1

당신의 선생님은 그가 틀렸다고 인정하지 않으려한다고 완고합니다. 'whatever : 0'은 상속 또는 기타 가능한 모든 단위를 0으로 설정합니다. 0이 가장 명확합니다.

4

크기 조정 단위 (em, px 등)가 있거나없는 '0'사이에는 분명히 차이가 있습니다.

대부분의 경우 CSS는 단위 크기가 없으면 단위 크기없이 해당 속성의 0 단위를 해석하지만 항상 유효하지는 않습니다 (예 : font-size). 일부 유효성 검사기는 속성을 처리하지 않습니다 유닛을 포함하지 않은 매개 변수를 만나면 스펙에 단위 크기가 필요합니다.

차이점은 단위 지정이없는 '0'은 단위 크기가 필요한 속성에서 표현 오류로 해석 될 수 있습니다. 표현이 단순히 '잘못된 구문'으로 간주되어 해석기가 건너 뛸 수 있기 때문에 차이점을 알 수 없습니다. 일반적으로 CSS의 잘못된 구문과 함께 사용합니다.따라서 단위 크기로 '0'을 지정하고 기본값이 '0em'또는 '0 %'등이면 결과는 해당 속성에 대해 '0'으로 유지됩니다. 그러나 캐스케이드의 이전 값을 변경하려는 경우이를 알 수 있습니다. '0em'은 '이전 값을'0em '으로 변경하지만'0 '은 단순히'이 규칙 무시 '라고 말하고 이전 규칙을 그대로 두어도됩니다. 이것은 당신이 당신의 알몸 '0'으로 의도 한 것일지도 모른다.

이것은 클라이언트 측 프로세스이며 현재 또는 미래의 특정 브라우저가 '0'을 처리하고 기본 해석을 수행하는 방법을 제어 할 수 없습니다.

따라서 '0'크기의 요소가 있어야한다고 의도 한 코드를 읽는 사람과 적절한 단위 유형을 말하면서 실제로 결과에 영향을 줄 수 있습니다. 항상 0으로 단위 지정을 사용하는 것이 좋습니다. 만약 당신이 정말로 (내가 가지고있는 것처럼) 또는 시스템과 코드를 설계한다면 (fushy), 0보다 작은 어떤 값에 선행 제로 (0.xx ...)를 넣고 싶을 수도있다. 독자는 당신의 분수가 단순히 오타가 아닌 고의 였음을 알아야합니다.

'여분의 타이핑'에 대해 불평하는 사람들은 타이핑 수업에 참여하는 것이 좋습니다. 설계자 나 코더와 일을하기 위해 인터뷰 할 때 가장 먼저하는 일 중 하나는 타이핑 테스트입니다. 돈을 절약하고 오류를 줄이려면 좋은 타이피스트 같은 것은 없습니다!

1

이것은 구타 당했지만 이제는 ... "큰 개"가 뭐라고하는지 봅시다.

Google CSS Guidelines ...

그들이

WordPress CSS 스타일 가이드가 유사하게 말한다 ...

0 값을하지 말았어야

을 요구하지 않는 0 값을 후 단위를 사용하지 마십시오 단위 (예 : 전환 지속 기간 포함). 단위 식별자 길이 제로에 대한

는 선택 사항입니다

그래서, 구글의 가이드 라인, 워드 프레스 가이드 라인, 마이크로 소프트 WebMatrix, 그리고 아마도 많은 다른 사람이 말을하더라도 :

+1

MS WebMatrix도 권장합니다. 왜 그런지 궁금합니다. 개인적으로 선호하지 않을까요? – Peter

+0

개인적으로 예외를 피하는 규칙을 선호합니다. –

+0

흥미롭게도 Google 개발자 도구의 계산 된 스타일 창에는 값이 0 인 단위가 포함되어 있습니다. 참고로 +1 –

5

CSS3 spec이 말한다 0을 사용할 때 단위를 생략해야합니다. 실제로 허용됩니다. 따라서 개인적인 취향이나 자신의 코딩 지침에 담기위한 것입니다.

+0

+1입니다. 분명히 obvi입니다. ous ...하지만 참조는 인수를 죽입니다. –

-1

Google의 '계산 된'스타일의 Chrome 브라우저에는 내 개인 취향에 맞춰 값을 포함하는 단위가 포함됩니다.

Include Units With Zero Values