PC端手机端自适应图片广告代码:+图片右下角带“广告”小字

图片广告HTML:

html
 
<!DOCTYPE html>  
<html lang="en">  
<head>  
<meta charset="UTF-8">  
<meta name="viewport" content="width=device-width, initial-scale=1.0">  
<title>图片广告示例</title>  
<style>  
    /* 这里将包含CSS样式,请将其放在<style>标签内 */  
</style>  
</head>  
<body>  
  
<div class="ad-container">  
    <!-- 两个横大图 -->  
    <div class="large-ad">  
        <a href="网站地址" class="ad-link">  
            <img src="图片地址" alt="大图广告1" class="ad-img">  
            <span class="ad-label">广告</span>  
        </a>  
    </div>  
    <div class="large-ad">  
        <a href="网站地址" class="ad-link">  
            <img src="图片地址" alt="大图广告2" class="ad-img">  
            <span class="ad-label">广告</span>  
        </a>  
    </div>  
  
    <!-- 两排四个小图 -->  
    <div class="small-ads">  
        <div class="small-ad-row">  
            <div class="small-ad">  
                <a href="网站地址" class="ad-link">  
                    <img src="图片地址" alt="小图广告1" class="ad-img">  
                    <span class="ad-label">广告</span>  
                </a>  
            </div>  
            <div class="small-ad">  
                <a href="网站地址" class="ad-link">  
                    <img src="图片地址" alt="小图广告2" class="ad-img">  
                    <span class="ad-label">广告</span>  
                </a>  
            </div>  
        </div>  
        <div class="small-ad-row">  
            <div class="small-ad">  
                <a href="网站地址" class="ad-link">  
                    <img src="图片地址" alt="小图广告3" class="ad-img">  
                    <span class="ad-label">广告</span>  
                </a>  
            </div>  
            <div class="small-ad">  
                <a href="网站地址" class="ad-link">  
                    <img src="图片地址" alt="小图广告4" class="ad-img">  
                    <span class="ad-label">广告</span>  
                </a>  
            </div>  
        </div>  
    </div>  
</div>  
  
</body>  
</html>

代码解释:
HTML 部分:
<html lang="en">:声明文档的语言为英语。
<head> 部分:
<meta charset="UTF-8">:指定字符编码为 UTF-8,确保页面可以正确显示各种字符。
<meta name="viewport" content="width=device-width, initial-scale=1.0">:设置视口的属性,使页面在不同设备上有良好的显示效果,width=device-width 表示视口宽度等于设备宽度,initial-scale=1.0 表示初始缩放比例为 1。
<title>:设置页面的标题为 "图片广告示例"。
<style>:包含页面的 CSS 样式。
<body> 部分:
.ad-container:包含所有广告的容器,使用 flex 布局,按列排列。
.large-ad:表示大图广告的容器,包含一个链接元素 ad-link 和图片元素 ad-img 以及广告标签 ad-label。
.small-ads:包含小图广告的容器,使用 flex-wrap: wrap 实现换行。
.small-ad-row:表示小图广告的行容器,在手机端使用 flex-direction: column 排列,在电脑端使用 flex-direction: row 排列。
.small-ad:表示单个小图广告的容器,在手机端占满一行,在电脑端占一半宽度。
.ad-link:包含广告图片和标签的链接元素。
.ad-img:广告图片元素,使用 width: 100% 和 height: auto 确保图片自适应容器大小。
.ad-label:广告标签元素,使用绝对定位,显示在图片的右下角,有半透明背景,增加了背景颜色和内边距,使标签更易读。

CSS代码(放入上面HTML代码<style>
/* 这里将包含CSS样式,请将其放在<style>标签内 */
</style> :

<style>  
.ad-container {  
    display: flex;  
    flex-direction: column;  
    width: 100%;  
    margin-top: 5px; /* 顶部间距 */  
}  
  
.large-ad {  
    margin-bottom: 2px; /* 大图之间的间距 */  
}  
  
.large-ad img, .small-ad img {  
    width: 100%;  
    height: auto;  
    display: block;  
}  
  
.small-ads {  
    display: flex;  
    flex-wrap: wrap;  
    justify-content: space-between;  
}  
  
.small-ad-row {  
    width: 100%;  
    display: flex;  
    justify-content: space-between;  
    margin-bottom: 2px; /* 小图行之间的间距 */  
}  
  
.small-ad {  
    flex: 0 0 calc(50% - 1px); /* 减去间距的一半 */  
    margin-bottom: 2px; /* 小图之间的间距 */  
}  
  
.ad-link {  
    position: relative;  
    display: block;  
    overflow: hidden; /* 确保广告标签不会溢出图片 */  
}  
  
.ad-label {  
    position: absolute;  
    right: -4px;  
    bottom: 5px;   
    color: white; /* 文字颜色为白色 */  
    padding: 2px 5px; /* 内边距调整 */  
    border-radius: 3px; /* 圆角 */  
    font-size: 9px; /* 字体大小 */  
}  
</style>

CSS 部分:
.ad-container:
display: flex; flex-direction: column;:使用 flex 布局并按列排列内部元素。
box-sizing: border-box;:使元素的宽度包含边框和内边距,避免元素超出容器。
.large-ad 和 .small-ad:
margin-bottom: 10px;:设置元素之间的垂直间距。
.ad-link:设置为块级元素,并使用相对定位,为广告标签的绝对定位做准备。
.ad-img:确保图片的宽度为 100%,高度自适应。
.ad-label:使用绝对定位,设置位置、颜色、背景、内边距、圆角和字体大小,以显示广告标签。
.small-ads:
display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px;:使用 flex 布局和 wrap 实现换行,使用 gap 控制元素间距。
.small-ad-row:
flex-direction:在手机端为 column,在电脑端为 row,以实现不同设备的布局调整。
.small-ad:在手机端 flex: 0 0 100%; 占满一行,在电脑端 flex: 0 0 calc(50% - 5px); 占一半宽度并考虑间距。
使用说明:
将上述代码保存为一个 .html 文件,然后在浏览器中打开。
替换 href 属性中的 "网站地址" 为实际的广告链接。
替换 src 属性中的 "图片地址" 为实际的图片路径。
你可以根据需要调整 CSS 中的间距、字体大小、颜色等样式,以达到更满意的显示效果。
通过上述代码,你可以在电脑端实现大图正常显示,小图分两排显示;在手机端实现大图正常显示,小图分两列显示,且保证图片间距一致,同时有良好的布局和显示效果。

以下是修改后的 CSS 代码,可满足电脑端显示不变,手机端不溢出窗口且同列的图片分列显示的需求::

<style> 
.ad-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: 5px; /* 顶部间距 */
    box-sizing: border-box; /* 确保元素的宽度包含边框和内边距 */
}

.large-ad {
    margin-bottom: 2px; /* 大图之间的间距 */
}

.large-ad img,
.small-ad img {
    width: 100%;
    height: auto;
    display: block;
}

.small-ads {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* 统一的图片间距,可根据需要调整 */
}

.small-ad-row {
    width: 100%;
    display: flex;
    flex-direction: column; /* 手机端小图行的排列方式改为列排列 */
    margin-bottom: 20px; /* 小图行之间的间距,可根据需要调整 */
}

.small-ad {
    flex: 0 0 100%; /* 小图占满一行的宽度 */
    margin-bottom:-13px; /* 小图之间的间距,可根据需要调整 -13px , 图片间距    */
}

/* 媒体查询,针对电脑端进行调整 */
@media screen and (min-width: 768px) {
   .small-ad-row {
        flex-direction: row; /* 电脑端小图行的排列方式为行排列 */
        margin-bottom: 2px; /* 电脑端小图行之间的间距,可根据需要调整 */
    }
   .small-ad {
        flex: 0 0 calc(50% - 1px); /* 电脑端小图的宽度,可根据需要调整 */
        margin-bottom: 2px; /* 电脑端小图之间的间距,可根据需要调整 */
    }
}

.ad-link {
    position: relative;
    display: block;
    overflow: hidden; /* 确保广告标签不会溢出图片 */
}

.ad-label {
    position: absolute;
    right: -4px;
    bottom: 5px; 
    color: white; /* 文字颜色为白色 */
    padding: 2px 5px; /* 内边距调整 */
    border-radius: 3px; /* 圆角 */
    font-size: 9px; /* 字体大小 */
}
</style>

代码解释:
.ad-container:
box-sizing: border-box;:确保元素的宽度包含边框和内边距,避免元素因边框和内边距超出容器宽度。
.small-ads:
gap: 10px;:设置一个统一的图片间距,这个间距会应用于电脑端和手机端,你可以根据需要调整其大小。
.small-ad-row:
flex-direction: column;:在手机端将小图行的排列方式改为列排列,使同列图片分列显示。
margin-bottom: 10px;:设置手机端小图行之间的间距,可根据需要调整。
媒体查询 @media screen and (min-width: 768px):
对于电脑端(屏幕宽度大于等于 768px):
small-ad-row:将 flex-direction 改为 row,使小图行的排列方式为行排列。
margin-bottom: 2px;:设置电脑端小图行之间的间距,可根据需要调整。
small-ad:将 flex 属性设置为 0 0 calc(50% – 1px); 确定电脑端小图的宽度,可根据需要调整。
margin-bottom: 2px;:设置电脑端小图之间的间距,可根据需要调整。

使用说明

  • 将上述代码添加到你的 HTML 文件的 <style> 标签内,或者将其保存在一个单独的 .css 文件中,并通过 <link> 标签引入到你的 HTML 文件中。
  • 在电脑端,布局和元素样式将保持原有的显示效果,通过 media query 调整小图的排列方式和间距。
  • 在手机端,通过修改 small-ad-row 的 flex-direction 属性将同列图片分列显示,同时使用统一的 gap 和 margin-bottom 来设置图片间距。

这样可以确保电脑端的显示基本不变,同时在手机端实现同列图片分列显示,并且图片间距与电脑端保持一致(通过 gap 和 margin-bottom 控制)。你可以根据实际情况对代码中的像素值和间距进行微调,以达到最满意的显示效果。

  • 天道酬勤

    与人方便,与己方便。

    Related Posts

    WordPress网站怎么把之前二级域名访问改成一级域名

    若要把 WordPress 网站全部改成一级域名,可按下面的步骤操作: 1. 准备新的一级域名 要先保证你已注册好想要使用的一级域名,并且已完成域名解析,让该域名指向你的 WordPress 网站所在服务器的 IP 地址。一般在域名注册商的管理界面里设置域名解析记录,添加一条 A 记录指向服务器 IP 即可。 2. 更新 WordPress 数据库中的 URL WordPress 把网站的 URL 信息存于数据库,因此要更新数据库里旧的 URL 为新的一级域名。你可以通过下面两种方式操作: 使用插件更新 手动更新数据库 3. 更新固定链接设置 4.…

    Python每次增加5%,10倍要几次怎么写

    以下是使用 Python 编写的代码来解决这个问题: count = 0  这一行是用于初始化一个计数器变量  count  。 在后续的循环中,每次满足增长条件, count  就会加 1,用于记录增长的次数。通过这种方式,最终  count  的值就代表了从初始值增长到目标值所经历的次数。 将  count  初始化为 0 是常见的编程习惯,确保计数器从 0 开始计数。 current_amount = initial_amount  这一行的作用是初始化当前的数值。 在这个程序中,我们要从初始值  initial_amount  开始,按照一定的增长率逐步增加,直到达到目标值  target_amount  。…

    You Missed

    四大顶尖AI模型

    线上数字人体验地址

    DeepSeek在线使用平台汇总

    AI工具集

    分享目前最全AI工具合集

    python练习3