MDN-CSS练习-卡片

效果图:

HTML:

<!DOCTYPE html>
<html lang="en-us">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <link rel="stylesheet" href="index.css" />
    <title>Fundamental CSS comprehension</title>
  </head>
  <body>
    <section class="card">
      <header>
        <h2>Chris Mills</h2>
      </header>
      <article>
        <img
          src="chris.jpg"
          alt="A picture of Chris - a man with glasses, a beard, and a silly wooly hat"
        />
        <p>
          50 My Street<br />
          The Town<br />
          Gray Peach<br />
          UK<br />
          ZO50 1MU<br />
          <strong>Tel</strong>: 01234 567 890<br />
          <strong>Mail</strong>: chris@nothere.com
        </p>
      </article>
      <footer>
        <p>Editing, writing, and web development services</p>
      </footer>
    </section>
  </body>
</html>

 CSS:

/* General styles - put these straight into your stylesheet */

body {
  margin: 0;
}

html {
  font-family: "Helvetica neue", Arial, "sans serif";
  font-size: 10px;
  background-color: #ccc;
}

/* 编写一个同时面向 card header 和 card footer 的规则集,
使它们计算的总高度为 50px(包括 30px 的内容高度和 10px 的 padding)但用 em 来表示。 */
.card header,
.card footer {
  height: 3em;
  padding: 1em;
}

/* 浏览器会为<h2> 和 <p>元素应用默认的 margin,
这会影响我们的设计,所以编写一个规则集:margin 设置为 0。 */
.card h2,
.card p {
  margin: 0;
}

/* 为了阻止图像溢出名片的主要内容 ( <article> 元素),我们需要给它设置一个明确的高度。
设置 <article>的高度为 120px,但是使用 em来表示。还要给它一个半透明黑色的背景颜色,
产生一个稍暗一点的阴影,能让红色的背景稍微透过。 */
.card article {
  height: 12em;
  background-color: rgba(0, 0, 0, 0.1);
}

/* 编写一个规则集,使 <h2> 有效的字体大小为 20px (使用 em表达) 
以及一个适当的行高将其放置在标题的内容框的中央。回想起来,内容框高度应该是 30px,
你所有需要的数字都已经给你了,所以可以计算出行高。 
   为页脚中的 <p> 编写一个规则集,使它的有效字体大小为 15px (使用 em表达) 
以及一个适当的行高将其放置在页面的内容框的中央。回想起来,内容框高度应该是 30px,
你所有需要的数字都已经给你了,所以可以计算出行高。 */
.card header h2 {
  font-size: 2em;
}

.card footer p {
  font-size: 1.5em;
}

.card header,
.card footer {
  line-height: 3em;
}

/* 最为最后一步,为 <article> 中的段落设置一个合适的 padding 值,
让它和 <h2> 以及页脚的段落左边缘对齐,并将其颜色设置得便于阅读。 */
.card article p {
  padding: 1em;
}

/* ||卡片容器 */
.card {
  width: 35em;
  height: 22em;
  margin: 5em auto;
  background-color: red;
  border: 0.2em solid black;
  border-radius: 1.5em;
}

/* ||卡片头部 */
.card header {
  background-image: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.1),
    rgba(0, 0, 0, 0)
  );
  border-radius: 1.5em 1.5em 0 0;
}

/* ||卡片底部 */
.card footer {
  background-image: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0),
    rgba(0, 0, 0, 0.1)
  );
  border-radius: 0 0 1.5em 1.5em;
}

/* ||卡片图片 */
.card article img {
  max-height: 100%;
  float: right;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值