background
와 background-color
?를 사용하여 배경색을 지정하는 것의 차이점은 무엇입니까 ?
스 니펫 # 1
body { background-color: blue; }
스 니펫 # 2
body { background: blue; }
답변
그것들이 두 가지 별개의 속성이라고 가정하면, 특정 예에서는 background
실제로는 속기 때문에 결과에 차이가 없습니다
배경색
배경 이미지
배경 위치
배경 반복
배경 첨부 파일
배경 클립
배경 출처
배경 크기
따라서 바로 가기를 background-color
사용하여 background
다른 background-*
속성을 두 번 이상 반복하지 않고 하나 이상의 값을 추가 할 수도 있습니다 .
어떤 것을 선택할지는 본질적으로 당신에게 달려 있지만 스타일 선언의 특정 조건에 따라 달라질 수도 있습니다 (예 : 부모 요소에서 background-color
다른 관련 background-*
속성을 상속 할 때만 재정의해야 하거나 모든 값을 제거 해야하는 경우) 제외 background-color
).
답변
background
이전의 모든 대체할만한 것 background-color
, background-image
등 사양. 기본적으로 축약 형이지만 재설정 도 가능합니다.
때로는 background
템플릿 사용자 정의에서 이전 사양 을 덮어 쓸 때 사용 하여 다음을 원할 것입니다.
background: white url(images/image1.jpg) top left repeat;
다음과 같습니다.
background: black;
따라서, 모든 매개 변수 ( background-image
, background-position
, background-repeat
) 기본값으로 재설정됩니다.
답변
CSS 성능 정보 :
background
vs background-color
:
한 번의 배경 에서 한 번 및 background-color 에서 한 번 작은 페이지로 100 회 렌더링 된 18 개의 색상 견본 비교 .
이 숫자는 단일 페이지 재로드에서 온 것이지만 이후 새로 고침으로 렌더링 시간이 변경되었지만 백분율 차이는 기본적으로 매번 동일했습니다.
거의 42.6ms 절약, 거의 두 배 빠른 속도Safari 7.0.1에서 배경색 대신 배경을 사용할 때 됩니다. Chrome 33은 거의 같은 것으로 보입니다.
이것은 두 가지 이유로 가장 오랜 시간 동안 나를 솔직하게 날려 버렸습니다.
- 나는 일반적으로 CSS 속성, 특히 배경에서 명시 성을 주장합니다. 특히 배경의 특수성에 부정적인 영향을 줄 수 있기 때문입니다.
- 브라우저에서 볼
background: #000;
때 실제로 볼 것이라고 생각했습니다background: #000 none no-repeat top center;
. 여기에 리소스에 대한 링크가 없지만 어딘가에서 이것을 읽은 것을 기억합니다.
참조 : https://github.com/mdo/css-perf#background-vs-background-color
답변
로 background
모두 설정할 수있는 background
속성을 같은 :
background-color
background-image
background-repeat
background-position
기타
함께 background-color
하면 바로 배경의 색상을 지정할 수 있습니다
background: url(example.jpg) no-repeat center center #fff;
VS.
background-image: url(example.jpg);
background-position: center center;
background-repeat: no-repeat;
background-color: #fff;
더 많은 정보
(자막 : 배경-속기 속성 참조)
답변
차이점 중 하나 :
이런 식으로 이미지를 배경으로 사용하는 경우 :
background: url('Image Path') no-repeat;
“background-color”속성으로 재정의 할 수 없습니다.
그러나 배경을 사용하여 색상을 적용하는 경우 배경색과 동일하며 무시할 수 있습니다.
예 : http://jsfiddle.net/Z57Za/11/ 및 http://jsfiddle.net/Z57Za/12/
답변
둘 다 동일합니다. 여러 개의 배경 선택기 (예 background-color
: background-image
, background-position
)가 있으며 더 간단한 background
선택기 또는보다 구체적인 선택기 를 통해 액세스 할 수 있습니다 . 예를 들면 다음과 같습니다.
background: blue url(/myImage.jpg) no-repeat;
또는
background-color: blue;
background-image: url(/myImage.jpg);
background-repeat: no-repeat;
답변
차이점은 background
속기 속성이 여러 배경 관련 속성을 설정 한다는 것 입니다. 예를 들어 색상 값만 지정하더라도 다른 속성은 초기 값으로 설정되므로 예 background-image
를 들어none
.
그렇다고해서 해당 속성의 다른 설정이 항상 무시되는 것은 아닙니다. 이것은 일반적으로 잘못 이해되는 규칙에 따라 계단식으로 구성됩니다.
실제로, 속기는 다소 안전합니다. 다른 스타일 시트에서 배경 이미지와 같은 예기치 않은 배경 속성을 실수로 얻는 것에 대한 예방책입니다 (완전하지는 않지만 유용합니다). 게다가 더 짧습니다. 그러나 실제로 “모든 배경 속성 설정”을 의미한다는 것을 기억해야합니다.