2016-08-29 1 views
-3

margin: 0 auto;이 작동하지만 margin: 1 auto;은 작동하지 않습니까? 이 문제를 간단히 해결할 수있는 해킹 방법이 있습니까? 바보 같은 질문 UPD 죄송 왜 'margin : 1 auto;'가 작동하지 않습니까?

 .container { 
 
     width: 220px; 
 
     /* margin: 0 auto; */ /* <-- works.*/ 
 
     margin: 1 auto; /*<-- error. HOW TO FIX??? */ 
 
     padding: 16px; 
 
     display: block; 
 
     border: 2px solid black; 
 
     }
<div class="container"> 
 
    <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sint non cumque at minima voluptates totam suscipit, esse vitae recusandae fugit, alias quibusdam odio sunt iure velit, perferendis voluptas ratione quo!</p> 
 
</div>

:이 대답은 유사한 문제를 삭제하지 마십시오 수 plz 수색자 유용 할 것이라 확신합니다.

답변

4

0은 유니버설이므로 1은 장치에 따라 다르며 단위가 지정되지 않았기 때문에 브라우저는 수행 할 작업을 알지 못합니다.

1

margin-* 속성은 길이, 백분율 및 auto 만 허용합니다. 정수가 아닙니다. 이 섹션에서 정의

물성 값은 다음 중 하나를 취할 수있다 <margin-width> 값 유형, 참조 :

  • <length>은 : 고정 된 폭을 지정한다.
  • <percentage> : 백분율은 생성 된 상자의 포함 블록의 너비 인 을 기준으로 계산됩니다.

그런 다음, 0 작동하기 때문에 유효한 length입니다

  • auto
  • 하지만 1는 없습니다.

    (이 명세서 <length>로 표시됨)의 길이 값의 형식은 <number> 즉시 (예를 들어, PX, EM 등) 기기 ID 순 (또는 소수점하지 않음)이다. 길이가 0이면 단위 식별자는 선택 사항입니다.

    1px, 1cm, 1em, 1vh이든 같은 일부 장치를 추가 한 경우 그것은 유효한 것입니다.

    따라서

    , your declaration is ignored :

    사용자 에이전트는 불법 값으로 선언을 무시해야합니다.

    1

    0은 그 자체만으로는 0을 의미하지만, 더 크거나 작게는 단위가 필요합니다. 1을 말하면 길이/크기/등을 기대할 수 없습니다.

    은 0을 의미하며 유효합니다. 1 자체는 단위가 없으며 CSS는 아무 것도 가정하지 않습니다.

    padding: 0px; /* px is redundant here because 0 means none */ 
    
    padding: 1; /* error, what is 1? 1 cm? 1 em? */ 
    
    관련 문제