鱼C论坛

 找回密码
 立即注册
查看: 6301|回复: 11

[学习笔记] 057 - 三位一体(I)

[复制链接]
发表于 2020-11-16 08:20:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2020-12-1 18:14 编辑






哈哈,废话不多说了,#敲黑板时刻!





在线视频:传送门





课程思维导图

57.png

猛戳

                               
登录/注册后可看大图
超清





从本节开始我们就要进入布局部分啦。

其重要性毋庸置疑,哪个网页不需要布局呢?!

首先要明确:

行内元素和块级元素的布局方式是不一样滴

在进一步说就是,设置水平和垂直的方式不同。

先从简单的行内元素说起。

行内元素自身不具备居中和垂直,都是相对于其所在的父元素来说。

所以居中和垂直都要对父元素进行相应设置,先从水平开始:

  1. <!DOCTYPE html>
  2. <html>

  3. <head>
  4.   <meta charset="utf-8">
  5.   <title>居中/垂直演示</title>
  6.   <style type="text/css">
  7.     div {
  8.       width: 200px;
  9.       height: 200px;
  10.       background-color: #cb4042;
  11.       /* 水平居中 */
  12.       text-align: center;
  13.     }

  14.     span {
  15.       font-size: 20px;
  16.     }
  17.   </style>
  18. </head>

  19. <body>
  20.   <div><span>我是行内元素</span></div>
  21. </body>

  22. </html>
复制代码

在 div 中添加 text-align 属性后,可以看到 span 元素就水平居中:

2020-11-30_20-09-13.jpg


垂直需要将 span 元素的 line-height 设置为父元素高度,在 span 样式中添加:

  1. span {
  2.       font-size: 20px;
  3.       /* 垂直居中 */
  4.       line-height: 200px;
  5.     }
复制代码

效果:

2020-11-30_20-11-49.jpg


块级元素的水平和垂直稍微复杂些,我们逐个来说。

上面代码实现的都是 span 元素基于 div 进行水平或垂直居中。

对于块级元素,我们直接拿外层 div 元素来做水平和垂直居中。

先做水平居中,在 div 中添加 margin:0 auto:

  1. <!DOCTYPE html>
  2. <html>

  3. <head>
  4.   <meta charset="utf-8">
  5.   <title>居中/垂直演示</title>
  6.   <style type="text/css">
  7.     div {
  8.       width: 200px;
  9.       height: 200px;
  10.       background-color: #cb4042;
  11.       /* span水平居中 */
  12.       text-align: center;
  13.       /* div整体居中 */
  14.       margin: 0 auto;
  15.     }

  16.     span {
  17.       font-size: 20px;
  18.       /* span垂直居中 */
  19.       line-height: 200px;
  20.     }
  21.   </style>
  22. </head>

  23. <body>
  24.   <div><span>我是行内元素</span></div>
  25. </body>

  26. </html>
复制代码

效果:

2020-12-01_17-48-54.jpg


块级元素默认是霸占整行的宽度,给其设置了一个固定的宽度之后。

该元素所在的这一行就拥有了可以被分配的剩余空间。

所以将其 margin 属性的左右两侧设置为 auto,则自动平分剩余空间,即实现水平居中。

块级元素的垂直居中算是本节课难点。

需要利用 position 属性来实现,在 div 中添加:position:absolute 。

还需要将 top、right、bottom、left 四个属性值均设置为 0 。

最后将 margin 改为 auto:

  1. div {
  2.       width: 200px;
  3.       height: 200px;
  4.       background-color: #cb4042;
  5.       /* span水平居中 */
  6.       text-align: center;
  7.       /* div垂直和水平居中 */
  8.       position: absolute;
  9.       top: 0;
  10.       left: 0;
  11.       bottom: 0;
  12.       right: 0;
  13.       margin: auto;
  14.     }
复制代码

效果:

2020-12-01_18-09-59.jpg


简单解释(课程中小甲鱼老师有细说):

游客,如果您要查看本帖隐藏内容请回复

这是本节课重点,希望鱼油掌握!

最后的单列布局,不算太难,知道就好。

代码:

  1. <!DOCTYPE html>
  2. <html>

  3. <head>
  4.   <meta charset="utf-8">
  5.   <title>单列布局演示</title>
  6.   <style type="text/css">
  7.     header,
  8.     main,
  9.     footer {
  10.       max-width: 1024px;
  11.       margin: 0 auto;
  12.       text-align: center;
  13.     }

  14.     header {
  15.       height: 50px;
  16.       line-height: 50px;
  17.       background-color: pink;
  18.     }

  19.     main {
  20.       height: 200px;
  21.       line-height: 200px;
  22.       background-color: cornsilk;
  23.     }

  24.     footer {
  25.       height: 50px;
  26.       line-height: 50px;
  27.       background-color: lightblue;
  28.     }
  29.   </style>
  30. </head>

  31. <body>
  32.   <header>头部</header>
  33.   <main>内容</main>
  34.   <footer>尾部</footer>
  35. </body>

  36. </html>
复制代码

要记住当页面超过 main 元素最大宽度,header 和 footer 元素要和页面宽度一样。




课后作业,完成了吗?


传送门






                               
登录/注册后可看大图







如果有收获,别忘了评分


                               
登录/注册后可看大图


这位鱼油,如果喜欢本系列学习笔记,请订阅 淘专辑传送门)(不喜欢更要订阅

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-29 12:22:49 | 显示全部楼层
回复看看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-15 10:23:26 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-19 09:39:28 | 显示全部楼层
132
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-14 17:28:24 | 显示全部楼层
看看原理
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-4 10:44:08 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-4 12:12:30 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-17 12:33:40 | 显示全部楼层
666666666666666666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-20 19:28:12 | 显示全部楼层
想看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-13 16:37:37 | 显示全部楼层
这里的父级元素是整个浏览器,四个属性值为0使得div在浏览器中撑开,div就有位置可以施展开来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-5 15:25:57 | 显示全部楼层
爱鱼C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-18 10:45:51 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-17 12:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表