CSS案例-5.margin产品模块练习

效果1

相关数据

整体长:298px,高:415px

效果2

知识点

外边距margin

块级盒子水平居中

条件:

  • 必须有宽度
  • 左右外边距设为auto

三种写法:

  1. margin-left:auto;margin-right:auto;
  2. margin:auto;
  3. margin:0 auto;

清除元素的默认内外边距

css 复制代码
* {
  margin:0;
  padding:0;
}

外边距合并

相邻块元素垂直外边距合并

取margin-top和margin-bottom两个值中较大的值,称外边距塌陷。

嵌套块元素垂直外边距的合并(塌陷)

  • 对于两个嵌套关系的块元素,如果父元素没有上内边距及边框
  • 父元素的上外边距会与子元素的上外边距发生合并
  • 合并后的外边距为两者中的较大者

解决方案

  1. 可以为父元素定义上边框 border-top:1px solid transparent;
  2. 可以为父元素定义上内边距 padding-top:1px;
  3. 可以为父元素添加overflow:hidden

盒子模型布局稳定性

width>padding>margin

效果1源码

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>产品模块练习</title>
    <style>
      * {
        margin: 0;
        padding: 0;
      }
      body {
        background-color: #f5f5f5;
      }
      a {
        text-decoration: none;
        color: #333;
      }
      .box {
        width: 298px;
        height: 415px;
        background-color: #fff;
        margin: 50px auto;
      }
      img {
        /* 宽度和父级元素一样宽 */
        width: 100%;
      }
      .review {
        height: 80px;
        font-size: 14px;
        /* 没有width,所以不会撑开盒子 */
        padding: 0 28px;
        margin-top: 30px;
      }
      .praise {
        font-size: 12px;
        color: #a6a6a6;
        margin-top: 20px;
        padding: 0 28px;
      }
      .info {
        margin-top: 8px;
        padding: 0 28px;
        font-size: 12px;
      }
      .info h4 {
        display: inline;
        font-weight: 400;
      }
      .price {
        display: inline-block;
        margin-left: 30px;
        padding-left: 10px;
        border-left: 1px solid #a6a6a6;
        color: #ff6700;
      }
    </style>
  </head>
  <body>
    <div class="box">
      <img src="images/img.jpg">
      <p class="review">快递牛,整体很不错啦啦啦啦啦,很棒很给力啦啦啦啦</p>
      <p class="praise">来自于 117384532 的评价</p>
      <div class="info">
        <h4><a href="#">Redmi AirDots真无线蓝...</a></h4>
        <span class="price">99.9元</span>
      </div>
    </div>
  </body>
</html>

效果2源码

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>margin模块列表练习</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        .module {
            width: 300px;
            height: 170px;
            margin: 50px auto;
            border: 1px solid #d7d7d7;
        }
        .module h3 {
            height: 32px;
            font-size: 14px;
            font-weight: 400;
            border-bottom: 1px dotted #d7d7d7;
            padding-left: 15px;
            line-height: 32px;
        }
        .bottom {
            padding-left: 20px;
            margin-top: 10px;
            font-size: 12px;
        }
        .bottom ul li {
            height: 23px;
            list-style: none;
        }
        .bottom ul li a {
            text-decoration: none;
            color: #333;
        }
        .bottom ul li a:hover {
            text-decoration: underline;
        }
    </style>
</head>
<body>
    <div class="module">
        <h3>品优购快报</h3>
        <div class="bottom">
            <ul>
                <li><a href="#">【特惠】爆款耳机5折秒!</a></li>
                <li><a href="#">【特惠】母亲节,健康好礼低至5折!</a></li>
                <li><a href="#">【特惠】爆款耳机5折秒!</a></li>
                <li><a href="#">【特惠】9.9一杯奶茶!</a></li>
                <li><a href="#">【特惠】智能空调立省1000!</a></li>
            </ul>
        </div>
    </div>
</body>
</html>

用到的图片

相关推荐
梦梦代码精13 分钟前
开源、免费、可商用:BuildingAI一站式体验报告
开发语言·前端·数据结构·人工智能·后端·开源·知识图谱
0思必得019 分钟前
[Web自动化] Selenium执行JavaScript语句
前端·javascript·爬虫·python·selenium·自动化
程序员敲代码吗34 分钟前
MDN全面接入Deno兼容性数据:现代Web开发的“一张图”方案
前端
0思必得036 分钟前
[Web自动化] Selenium截图
前端·爬虫·python·selenium·自动化
疯子****2 小时前
【无标题】
前端·clawdbot
RichardLau_Cx2 小时前
【保姆级实操】MediaPipe SDK/API 前端项目接入指南(Web版,可直接复制代码)
前端·vue·react·webassembly·mediapipe·手部追踪·前端计算机视觉
不爱写程序的东方不败2 小时前
APP接口测试流程实战Posman+Fiddler
前端·测试工具·fiddler
晚霞的不甘3 小时前
Flutter for OpenHarmony构建全功能视差侧滑菜单系统:从动效设计到多页面导航的完整实践
前端·学习·flutter·microsoft·前端框架·交互
黎子越3 小时前
python相关练习
java·前端·python
北极糊的狐4 小时前
若依项目vue前端启动键入npm run dev 报错:不是内部或外部命令,也不是可运行的程序或批处理文件。
前端·javascript·vue.js