制作人员介绍卡片

目标

Step 1.

基本架构与文字内容
每个item容器里都有图片跟文字区块

<body><div class="wrap"><div class="item"><img src="https://picsum.photos/300/300/?random=1"><div class="txt"><h2>CSS可樂</h2><p>一個優質的技術型 Youtube 頻道,旨在讓更多網路新手跳坑學習網站開發技術,平日用簡單易懂的教學方式讓新手能跨進網頁設計領域,並開設知名的網路課程「網頁設計暴力入門班」用紮實的原理解析讓新手能學習到深入的網頁製作技術及知識。知識。</p></div></div><div class="item"><img src="https://picsum.photos/300/300/?random=2"><div class="txt"><h2>Amos</h2><p>現任 Youtube CSScoke 頻道直播主,屬緣分系直播主,平日不定時會突然發懶不直播(過分!),頻道內分享業界實務技巧,不定時邀請業界大神免費分享實用技巧與經驗,有機會跟到直播的話表示你我有緣,何不斗內支持直播主製作更多優質節目呢。</p></div></div><div class="item"><img src="https://picsum.photos/300/300/?random=3"><div class="txt"><h2>推坑大魔王</h2><p>不是路不平!而是坑太多!閒暇時看到好東西就會推坑給周遭朋友,不管是好物或是好書甚至是好課,無一不推!看似抽庸很大卻是一毛不取,一個佛系推坑方式,希望能讓周遭朋友用較低的負擔獲得更多技術,並努力轉換成收入,讓所有周遭的朋友發大財!</p></div></div></div>
</body>

Step 2.

版面初始化

<style>* {margin: 0;padding: 0;list-style: none;}
</style>

Step 3.

wrap容器CSS设定

<style>   .wrap {width: 1200px;display: flex;margin: auto;}
</style>

margin: auto;auto代表左右两边一起平分剩下的可用空间,所以可以得到置中的结果。

Step 4.

item容器CSS设定

<style>.item {width: 370px; /* 400- 15*2(margin) */margin: 15px;text-align: center; /* 文字置中 */}.item img {width: 100%;}
</style>

Step 5.

在標題下添加底线,並為段落設定行高

<style>.item h2 {border-bottom: 1px solid #888;padding-bottom: .3em;margin-bottom: .3em;}.item p {line-height: 1.6; /* 行高 */}
</style>

認識「em」單位

  在 CSS 中,em 單位是相對長度單位。它是相對於該元素本身字體大小(font-size 屬性)的值。

  若在一個沒有設定 font-size 的「元素」上,有其他屬性是以 em 做為長度單位,它則會繼承「父元素」的 font-size 屬性值,做為 em 單位的參考值。若父元素也無設定 font-size 屬性值,則繼續往上繼承,直到根元素;若 CSS 中皆無設定,則依照瀏覽器預設值:通常是 16px。

Step 6.

设定网页字型、文字粗细 ( 使用google api )


<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;500;900&display=swap" rel="stylesheet">
<style>* {margin: 0;padding: 0;list-style: none;font-family: 'Noto Sans TC', sans-serif;}.item h2 {border-bottom: 1px solid #888;padding-bottom: .3em;margin-bottom: .3em;font-weight: 900;}.item p {line-height: 1.6;font-weight: 300;}
</style>

Step 7.

为网页设定背景色(深蓝色)、把item容器垂直居中并改成白色背景

<style>html, body {height: 100%;}body {display: flex;align-items: center;background-color: #003; /* 深蓝色 */}.item {width: 370px;margin: 15px;text-align: center;background-color: #fff; /* 白色背景 */}</style>

Step 8.

替item容器加边匡( width要扣回来 )、文字加padding

<style>.item {width: 368px;margin: 15px;text-align: center;background-color: #fff;border: 1px solid #ccc; /*边匡*/}.item .txt {padding: 20px;}
</style>

Step 9.

建立三角形区域

<style>    .item .txt {padding: 20px;position: relative;}.item .txt:before{content: '';position: absolute; /*设定定位后东西会自动转成block*/width: 0;height: 0;left: 0; /*位置*/top: 0; /*位置*/border-top: 60px solid #f00;border-left: 184px solid #0f0;border-right: 184px solid #0f0;}
</style>

Step 10.

去除图片下方空白区块
可以透过将vertical-align设定为baseline以外的值实现。

<style>.item img {width: 100%;vertical-align: middle;}
</style>

Step 11.

修改边匡线颜色(透明色、白色)并移到适当位置

<style>.item .txt:before{content: '';position: absolute;width: 0;height: 0;left: 0;top: 0;border-top: 60px solid transparent; /*透明色*/border-left: 184px solid #fff; /*白色*/border-right: 184px solid #fff; /*白色*/transform: translateY(-100%);}
</style>

translate功能介紹
語法:
transform: translate(單位或百分比, 單位或百分比);
transform: translateX(單位或百分比);
transform: translateY(單位或百分比);

第一種語法可以同時聲明X軸、Y軸的平移數值 ; 第二、三種語法可以單純聲明X軸或Y軸的平移數值。

  • 單位平移
    以單位平移的方式很單純,單位值為多少就平移多少,且transform支援負值。

  • %百分比平移
    translate的百分比基準是自己的width跟height。

Step 12.

制作上下移动的动画,当滑鼠碰到item区块时会往上移动

<style>.item {width: 368px;margin: 15px;text-align: center;background-color: #fff;border: 1px solid #ccc;transform: translateY(0px);transition: .5s;}.item:hover {transform: translateY(-40px);}
</style>

Step 13.

替txt区块背景、边匡线、文字与底线制作变色动画

  • 背景变成渐层式橘色
  • 边匡线变成橘色
  • 文字与底线变成白色

<style>.item p {line-height: 1.6;font-weight: 300;transition: .25s; /*动画长度*/}.item:hover .txt {background-image: linear-gradient(0deg, #FB8076, #FEB85D ); /*从下到上开始变色*/}.item:hover .txt:before {border-left: 184px solid #FEB85D; /*橘色*/border-right: 184px solid #FEB85D; /*橘色*/}.item:hover h2 {color: #fff; /*白色*/border-bottom-color: #fff; /*白色底线*/}.item:hover p {color: #fff; /*白色*/}
</style>

參考资料:

金魚都能懂的這個網頁畫面怎麼切 : 人員介紹卡片

CSS 小技巧分享:em 單位的強大用途

Day30 CSS:Transform: translate

切版练习笔记(三) - 制作人员介绍卡片相关推荐

  1. HTML+CSS制作人物介绍卡片效果

    HTML+CSS制作人物介绍卡片效果 效果图如下: HTML部分源代码如下: <!DOCTYPE html> <html lang="zh-Hans">&l ...

  2. javascript 高级程序设计(第4版)阅读笔记(三)

    第3章,内容很长,所以更得慢,主要讲的是ECMAScript   es的语言基础:语法.数据类型.基本操作符.流控制语句.理解函数,ECMAScript 的语法很大程度上借鉴了 C 语言和其他类 C  ...

  3. Python核心教程(第二版)读书笔记(三)

    第三章Python基础 2010-04-09 换行  一行过长的语句可以使用反斜杠'\'分解成几行.有两种例外情况一个语句不使用反斜线也可以跨行. 1.在使用闭合操作符时,单一语句可以跨多行.例如:在 ...

  4. MATLAB 基础笔记(三):二维图像绘图

    笔记三是简单介绍二维绘图的函数和一些绘图的辅助技巧. 目录 笔记三是简单介绍二维绘图的函数和一些绘图的辅助技巧. 1.plot函数绘制图像 2.添加坐标轴范围和坐标轴标签以及标题 3.改变线型.颜色和 ...

  5. C++Primer第5版学习笔记(三)

    C++Primer第5版学习笔记(三) 第四/五章的重难点内容 你可以点击这里回顾第三章内容       因为第五章的内容比较少,因此和第四章的笔记内容合并.       第四章是和表达式有关的知识, ...

  6. PMBOK(第六版) PMP笔记——《三》第三章 项目经理的角色

    PMBOK(第六版) PMP笔记--<三>第三章 项目经理的角色 1 .项目经理是由执行组织委派,领导团队实现项目目标的个人. 就像是交响乐队的指挥,他不需要掌握每种乐器,但应具备音乐知识 ...

  7. C++ Primer 第三版 读书笔记

    1.如果一个变量是在全局定义的,系统会保证给它提供初始化值0.如果变量是局部定义的,或是通过new表达式动态分配的,则系统不会向它提供初始值0 2.一般定义指针最好写成:" string * ...

  8. Linux设备驱动程序 第三版 读书笔记(一)

    Linux设备驱动程序 第三版 读书笔记(一) Bob Zhang 2017.08.25 编写基本的Hello World模块 #include <linux/init.h> #inclu ...

  9. OpenGL超级宝典(第7版)笔记13 前三章实例 下个五子棋 (上)

    OpenGL超级宝典(第7版)笔记13 前三章实例 下个五子棋 (上) 文章目录 OpenGL超级宝典(第7版)笔记13 前三章实例 下个五子棋 (上) 前言 1 初构建 2 构建数据结构 3 绘制 ...

最新文章

  1. 软件测试培训分享:Bug的作用有多大?
  2. 禅道项目管理软件介绍
  3. md5-linux_shell
  4. 2012 IBM软件技术峰会:IBM与开发者谈四大热门领域看法
  5. ios怎样在一个UIImageButton的里面加一些自己定义的箭头
  6. mssql 数据库审计账户_SQLServer数据库审计功能入门之SQL Server审核 (SQL Server Audit)...
  7. 跟繁琐的命令行说拜拜!Gerapy分布式爬虫管理框架来袭!
  8. HTMLTESTRunner自动化测试报告增加截图功能
  9. SQL Server中的约束:SQL NOT NULL,UNIQUE和SQL PRIMARY KEY
  10. 基于springboot的客栈(酒店)系统
  11. unity3d Physics.Raycast和Ray(射线)
  12. java进制转换的简单方法
  13. wallpaper怎么导入视频_怎样制作Wallpaper Engine视频壁纸 制作视频壁纸方法图文教程...
  14. C语言输出所有水仙花数字
  15. Packet Tracer 思科模拟器入门教程 之七 利用三层交换机实现VLAN间路由
  16. 2、Linux命令合集
  17. 一个游戏程序员的学习资料 (zz)
  18. bmzctf-crypto writeup(二) (持续更新)
  19. NXOPEN二次开发-CAM Operation转OperationBuilder对加工操作修改一些进给速度参数
  20. webstorm常用插件集合(2020)

热门文章

  1. Intel software developer manual
  2. 华山路1076号:汇丰洋行大班别墅 现上海市信息中心 上海市信息技术培训中心...
  3. iOS获取设备UDID/IMEI信息
  4. 在WPF中使用Caliburn.Micro搭建MEF插件化开发框架
  5. 【安信可ESP32语音开发板专题②】ESP32-Audio-Kit 开发板适配百度dueros例程实现在线语音功能,与开发板对话聊天。
  6. 脑机接口给医疗带来了奇迹
  7. 什么是ERP系统?新精铺ERP优势是什么
  8. 融资再保险与传统再保险有什么不同
  9. 极速数据api 全国违章查询api
  10. 中国34个省(地区)简称