使用 CSS 缩小 php 背景图片
Reduce a php background image with CSS
当显示大于 320px 时,图像大小合适。
但是,如果我使用较小的显示器,圆圈中的背景图像将不会调整大小,并且我会在较小的圆圈下丢失部分图像。
.ch-grid-variant li {
width: 220px;
display: inline-block;
margin-bottom: 40px;
position: relative;
float: left;
margin-left: auto;
margin-right: 330px;
display: table-cell;
}
.ch-item-variant {
width: 118%;
height: 118%;
border-radius: 50%;
border: solid #1B4046;
position: relative;
cursor: default;
box-shadow: inset 0 0 0 0 rgba(200, 95, 66, 0.4), inset 0 0 0 16px rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1);
-webkit-transition: all 0.4s ease-in-out;
-moz-transition: all 0.4s ease-in-out;
-o-transition: all 0.4s ease-in-out;
-ms-transition: all 0.4s ease-in-out;
transition: all 0.4s ease-in-out;
}
.ch-img-x-variant {
background-size: 260px 260px;
border-radius: 50%;
height: 260px;
}
.ch-img-x-variant img {
border-radius: 50%;
width: 260px;
height: 260px;
text-align: center;
}
.ch-info-variant {
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
opacity: 0;
-webkit-transition: all 0.4s ease-in-out;
-moz-transition: all 0.4s ease-in-out;
-o-transition: all 0.4s ease-in-out;
-ms-transition: all 0.4s ease-in-out;
transition: all 0.4s ease-in-out;
-webkit-transform: scale(0);
-moz-transform: scale(0);
-o-transform: scale(0);
-ms-transform: scale(0);
transform: scale(0);
-webkit-backface-visibility: hidden;
/*for a smooth font */
}
.ch-item-variant:hover {
box-shadow: inset 0 0 0 130px rgba(200, 95, 66, 0.4), inset 0 0 0 16px rgba(255, 255, 255, 0.8), 0 1px 2px rgba(0, 0, 0, 0.1);
}
.ch-item-variant:hover .ch-info-variant {
opacity: 1;
-webkit-transform: scale(1);
-moz-transform: scale(1);
-o-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}
.ch-info-variant h3 {
color: #fff;
text-transform: uppercase;
position: relative;
letter-spacing: 2px;
font-size: 32px;
margin: 0 30px;
padding: 65px 0 0 0;
height: 80px;
font-family: 'Open Sans', Arial, sans-serif;
text-shadow: 0 0 1px #fff, 0 1px 2px rgba(0, 0, 0, 0.3);
}
.ch-info-variant p {
color: #fff;
padding: 10px 5px;
font-style: italic;
margin: 0 30px;
font-size: 16px;
border-top: 1px solid rgba(255, 255, 255, 0.5);
}
/* smaller than 320px */
@media only screen and (max-width: 320px) {
.ch-item-variant {
width: 100%;
height: 100%;
left: -1px;
}
.ch-img-x-variant {
background-size: 220px 220px;
height: 220px;
}
.ch-img-x-variant img {
width: 220px;
height: 220px;
}
}
<ul class="ch-grid-variant">
<li id="services_box_container1">
<div class="ch-item-variant ch-img-x-variant" style="background: url(http://sandiegosids.org/wp-content/uploads/2014/02/Daly_Web_Banner-260px-CTA.jpg);">
<div class="ch-info-wrap">
<div class="ch-info-variant">
<div class="ch-info-front ch-img-x-variant">
<h3>text</h3>
<p>undertext</p>
</div>
</div>
</div>
</div>
</li>
</ul>
我认为更改 CSS 中的 "background-size" 可以解决问题,但事实并非如此......
我做错了什么?
非常感谢!
PS:示例的背景 url 是硬链接的,但实际上该字段填充了 "php echo" 变量。
您的内联样式中的背景 属性 设置了 background-size
属性,因此它会覆盖您样式中的任何 background-size
sheet:
background: [color] [image] [repeat] [position] [size];
如果您想使用媒体查询,最简单的解决方法是在您的代码中使用 !important
:
background-size: 220px 220px !important;
或者您也可以将 contain 与它一起使用:
background-size: contain !important;
!important
会使事情变得混乱,因此请谨慎使用,但如果您的图像需要动态设置,则可能是可行的方法。
另一种选择是在内联样式中包含 background-size
,它具有相同的优先级。
当显示大于 320px 时,图像大小合适。
但是,如果我使用较小的显示器,圆圈中的背景图像将不会调整大小,并且我会在较小的圆圈下丢失部分图像。
.ch-grid-variant li {
width: 220px;
display: inline-block;
margin-bottom: 40px;
position: relative;
float: left;
margin-left: auto;
margin-right: 330px;
display: table-cell;
}
.ch-item-variant {
width: 118%;
height: 118%;
border-radius: 50%;
border: solid #1B4046;
position: relative;
cursor: default;
box-shadow: inset 0 0 0 0 rgba(200, 95, 66, 0.4), inset 0 0 0 16px rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1);
-webkit-transition: all 0.4s ease-in-out;
-moz-transition: all 0.4s ease-in-out;
-o-transition: all 0.4s ease-in-out;
-ms-transition: all 0.4s ease-in-out;
transition: all 0.4s ease-in-out;
}
.ch-img-x-variant {
background-size: 260px 260px;
border-radius: 50%;
height: 260px;
}
.ch-img-x-variant img {
border-radius: 50%;
width: 260px;
height: 260px;
text-align: center;
}
.ch-info-variant {
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
opacity: 0;
-webkit-transition: all 0.4s ease-in-out;
-moz-transition: all 0.4s ease-in-out;
-o-transition: all 0.4s ease-in-out;
-ms-transition: all 0.4s ease-in-out;
transition: all 0.4s ease-in-out;
-webkit-transform: scale(0);
-moz-transform: scale(0);
-o-transform: scale(0);
-ms-transform: scale(0);
transform: scale(0);
-webkit-backface-visibility: hidden;
/*for a smooth font */
}
.ch-item-variant:hover {
box-shadow: inset 0 0 0 130px rgba(200, 95, 66, 0.4), inset 0 0 0 16px rgba(255, 255, 255, 0.8), 0 1px 2px rgba(0, 0, 0, 0.1);
}
.ch-item-variant:hover .ch-info-variant {
opacity: 1;
-webkit-transform: scale(1);
-moz-transform: scale(1);
-o-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}
.ch-info-variant h3 {
color: #fff;
text-transform: uppercase;
position: relative;
letter-spacing: 2px;
font-size: 32px;
margin: 0 30px;
padding: 65px 0 0 0;
height: 80px;
font-family: 'Open Sans', Arial, sans-serif;
text-shadow: 0 0 1px #fff, 0 1px 2px rgba(0, 0, 0, 0.3);
}
.ch-info-variant p {
color: #fff;
padding: 10px 5px;
font-style: italic;
margin: 0 30px;
font-size: 16px;
border-top: 1px solid rgba(255, 255, 255, 0.5);
}
/* smaller than 320px */
@media only screen and (max-width: 320px) {
.ch-item-variant {
width: 100%;
height: 100%;
left: -1px;
}
.ch-img-x-variant {
background-size: 220px 220px;
height: 220px;
}
.ch-img-x-variant img {
width: 220px;
height: 220px;
}
}
<ul class="ch-grid-variant">
<li id="services_box_container1">
<div class="ch-item-variant ch-img-x-variant" style="background: url(http://sandiegosids.org/wp-content/uploads/2014/02/Daly_Web_Banner-260px-CTA.jpg);">
<div class="ch-info-wrap">
<div class="ch-info-variant">
<div class="ch-info-front ch-img-x-variant">
<h3>text</h3>
<p>undertext</p>
</div>
</div>
</div>
</div>
</li>
</ul>
我认为更改 CSS 中的 "background-size" 可以解决问题,但事实并非如此......
我做错了什么?
非常感谢!
PS:示例的背景 url 是硬链接的,但实际上该字段填充了 "php echo" 变量。
您的内联样式中的背景 属性 设置了 background-size
属性,因此它会覆盖您样式中的任何 background-size
sheet:
background: [color] [image] [repeat] [position] [size];
如果您想使用媒体查询,最简单的解决方法是在您的代码中使用 !important
:
background-size: 220px 220px !important;
或者您也可以将 contain 与它一起使用:
background-size: contain !important;
!important
会使事情变得混乱,因此请谨慎使用,但如果您的图像需要动态设置,则可能是可行的方法。
另一种选择是在内联样式中包含 background-size
,它具有相同的优先级。