배경 이미지를 div에 맞추기


334

다음 div에 배경 이미지가 있지만 이미지가 잘립니다.

 <div style='text-align:center;background-image: url(/media/img_1_bg.jpg);background-repeat:no-repeat;width:450px;height:900px;' id="mainpage" align="center">

배경 이미지를 잘라 내지 않고 표시하는 방법이 있습니까?


이미지가 div보다 큽니까?
grc

1
예, 이미지가 div보다 큽니다
Rajeev

1
background-image : url (/media/img_1_bg.jpg); 배경 크기 : 포함; 배경 반복 : 반복 없음;
Waruna Manjula

답변:



119

div의 치수가 동일한 이미지가 필요한 경우 이것이 가장 우아한 해결책이라고 생각합니다.

background-size: 100% 100%;

그렇지 않은 경우 @grc의 답변이 가장 적합합니다.

출처 : http://www.w3schools.com/cssref/css3_pr_background-size.asp


마지막으로 전체 div를 배경에 맞는 솔루션을 찾았습니다. 감사합니다!
Kamil Rykowski 2016 년

5
그러나 이것은 이미지를 늘릴 것입니다 ... 배경 이미지를 늘리지 않고 맞추는 방법이 있습니까?
Junaid

1
그러나 종횡비가 줄었습니다.
학습자

@Learner 이미지를 자르지 않고 이미지의 크기를 변경하면 화면 비율이 99 % 손실됩니다. 상식입니다.
Vaibhav Vishal

11

이 속성을 사용할 수 있습니다 :

background-size: contain;
background-repeat: no-repeat;

코드는 다음과 같습니다.

 <div style="text-align:center;background-image: url(/media/img_1_bg.jpg); background-size: contain;
background-repeat: no-repeat;" id="mainpage">

8

당신은 또한 이것을 사용합니다 :

background-size:contain;
height: 0;
width: 100%;
padding-top: 66,64%; 

귀하의 사업부 가치를 모르지만 그 가치가 있다고 가정 해 봅시다.

height: auto;
max-width: 600px;

다시 말하지만, 이들은 임의의 숫자입니다. div의 고정 너비로 ​​배경 이미지 (원하는 경우)를 만들기가 어려울 수 있으므로 최대 너비를 사용하는 것이 좋습니다. 실제로 배경 이미지로 div를 채우는 것은 복잡하지 않으며 부모 요소의 스타일을 올바르게 지정해야 이미지에 들어갈 수있는 위치가 있습니다.

크리스


이 솔루션에 대해보다 자세하게 설명하는 stackoverflow.com/questions/600743/… 에 대한 투표가 많으며을 계산하는 방법을 보여줍니다 padding-top.
John Lee
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.