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>

用到的图片

相关推荐
2401_857439697 分钟前
智慧社区电商系统:提升用户体验的界面设计
前端·javascript·php·ux
我是高手高手高高手17 分钟前
ThinkPHP8多应用配置及不同域名访问不同应用的配置
linux·服务器·前端·php
csdnLN1 小时前
$.ajax() 对应事件done() 、fail()、always() 的用法
前端·javascript·ajax
甜味橘阳1 小时前
echarts地图可视化展示
前端·javascript·echarts
bloxed1 小时前
前端文件下载多方式集合
前端·filedownload
余生H2 小时前
前端Python应用指南(三)Django vs Flask:哪种框架适合构建你的下一个Web应用?
前端·python·django
LUwantAC2 小时前
CSS(四)display和float
前端·css
cwtlw2 小时前
CSS学习记录20
前端·css·笔记·学习
界面开发小八哥2 小时前
「Java EE开发指南」如何用MyEclipse构建一个Web项目?(一)
java·前端·ide·java-ee·myeclipse
米奇妙妙wuu2 小时前
react使用sse流实现chat大模型问答,补充css样式
前端·css·react.js