html - 无法弄清楚如何为网站正确覆盖带有图像的 div
问题描述
标题对问题的描述很差,抱歉。我的网站中有包含大量内容的 div(“卡片”)。我想要的一个重要的事情是有一个覆盖“卡片”的图像,但是每次我试图正确地调整它们时,它们要么不会从当前的设置中改变,要么相对于页面来说它们的尺寸很大大小而不是“卡片”大小。我已经阅读了有关类似问题的其他线程,但我还没有任何工作。
/* Entire div for card base + image inside it */
.card {
display: flex;
flex-flow: row no-wrap;
justify-content: space-between;
width: 275px;
height: 150px;
font-size: 25px;
padding: 20px;
background-color: #f1f1f1;
border-radius: 30px;
box-shadow: 0px 0px 18px #888888;
transition: all 0.5s ease;
}
.card:hover {
background-color: #daeaf5;
}
.card-image {
display: flex;
justify-content: center;
align-items: center;
overflow: hidden
}
.card-img:hover {
-webkit-filter: grayscale(0%);
filter: greyscale(0%);
}
.card-img {
width: 100%;
height: 100%;
flex-shrink: 0;
min-width: 100%;
min-height: 100%;
border-radius: 30px;
-webkit-filter: grayscale(100%);
filter: greyscale(100%);
-webkit-mask-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
mask-image: linear-gradient(to left, rgba(0,0,0,1), rgba(0,0,0,0));
transition: all 0.5s ease;
}
/* ignore this stuff, it's just styling for the rest of the card */
.card-title {
font-size: 10px;
}
.card-content {
font-size: 18px;
margin-bottom: 5px;
white-space: nowrap;
}
.card-a {
color: black;
text-decoration: none;
border-radius: 30px;
margin: 15px;
}
.main {
margin-left: 10px;
}
.flex-container {
display: flex;
flex-flow: row wrap;
justify-content: flex-start;
align-items: flex-start;
align-content: flex-start;
}
/* Entire card div, yes I know my code looks like a goblin wrote it, I am a goblin. */
/*So far, this was the only way I have found to get it to work how I wanted to*/
<div class="main">
<ul type="none">
<div class="flex-container">
<a class="card-a" href="###">
<li>
<div class="card">
<div class="left-side">
<div class="card-title">Make</div>
<div class="card-content">Template</div>
<div class="card-title">Model</div>
<div class="card-content">Temp</div>
<div class="card-title">Trim</div>
<div class="card-content">Temp</div>
<div class="card-title">Year</div>
<div class="card-content">Temp</div>
</div>
<div class="right-side">
<img class="card-img" src="https://static.turbosquid.com/Preview/001308/648/FU/_D.jpg" alt="Temporary Picture provided by Turbosquid 1308648"/>
</div>
</div>
</li>
</a>
</div>
</ul>
</div>
理想情况下,我希望图像紧贴卡片,因此图像上的角与卡片上的角相匹配。我试图将图像重新定位到不同的地方,重新排序 div 并尝试以不同的方式构建所有内容。不幸的是,每次我尝试过,我都离理想的卡片设计越来越远。是的,我知道,与其他任何人的工作相比,代码看起来就像鸡划伤一样,请原谅我可怜的人的经验。
解决方案
使用 CSS background-image 属性,然后使用它的属性,直到你得到你想要的 IE:
<div id="card_image">
<h1>hello World</h1>
<p>this Section Has a background image</p>
</div>
<style>
#card_image {
background-image:url("https://static.turbosquid.com/Preview/001308/648/FU/_D.jpg");
background-size:25%;
backgroun-position:top right;
}
</style>
play with this
推荐阅读
- java - 保存文件更改后如何自动重启 Dropwizard 应用程序
- binary - 在 Fortran 中读取流二进制文件
- python - 如何检查字典值是否在 python 的字典列表中可用?
- android - 其他用户的声音正在低音录制
- mysql - Mysql将时间转换为秒然后插入到表中
- windows - 检测受控文件夹访问何时处于活动状态
- java - 创建 SQL 插入语句到 CSV 文件
- javascript - 如何避免在画布上绘制模糊图像
- php - PHP联系表单不向用户显示错误
- javascript - 何时将配置存储在 .js 文件中以及何时将其存储在 .json 文件中?