QQ登录

只需一步,快速开始

搜索
【活动】边做笔记边学习,还能赢取奖学金!
查看: 405|回复: 6

[系列教程] 0 0 2 8 - 块状元素 & 内联元素 的绝对相对#’体‘位

[复制链接]
累计签到:360 天
连续签到:30 天
最佳答案
76 
发表于 2017-1-19 12:17:17 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

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

x
本帖最后由 不二如是 于 2017-2-24 13:15 编辑

既然在27我们确立了他们二人的关系。

那么,关系有了,就可以进一步,让他们产生位置上滴摩擦啦

你个坏银,干嘛不点开看看呢?

言归正传哈,位置,其实就是一个属性:

float


但是,他却有,很多种摆法!

你必须要掌握,我下面我列出的基本玩法,然后自行脑洞发挥~

这次,换一个名言,用一个形容”恐怖分子“的。

恐怖分子,就像一只想要大闹瓷器店的苍蝇。

本身很弱小,凭一己之力连一只茶杯也挪动不了!

但是,它可以钻进一头牛的耳朵中,不停的嗡嗡叫,让牛因恐惧和愤怒而发狂。

从而,冲进瓷器店,撞毁一切!

------------------------------------


这次,把<span>放入<p>的中间,制造更加混乱的位置
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5.         <title></title>
  6.         <style type="text/css">
  7.                 span{
  8.                         color: #FFF;
  9.                         background:  #9F88FF;
  10.                 }
  11. </style>
  12. </head>
  13. <body>
  14.         <h1>恐怖分子</h1>
  15.         <p>恐怖分子,就像一只想要大闹瓷器店的苍蝇。本身很弱小,凭一己之力连一只茶杯也挪动不了!<span>但是,它可以钻进一头牛的耳朵中,不停的嗡嗡叫</span>,让牛因恐惧和愤怒而发狂。从而,冲进瓷器店,撞毁一切!</p>
  16. </body>
  17. </html>
复制代码

效果图:
Snip20170119_105.png


区块和内联,就默认你已经懂了哈~

float属性,主要是用在将图片浮动在文字左边或者右边的一个属性。

在使用float属性前,有一点请注意:

必须要设置下h1、p的文本宽度,因为默认的两个充满网页,无法产生浮动!

建议,缩小点就行。
  1. h1{
  2.                         width: 133px;
  3.                 }
  4.                 p{
  5.                         width: 233px;
  6.                 }
复制代码


float属性,只有四个值
right 元素向右浮动
left 元素向左浮动
inherit 默认值。元素不浮动,并会显示在其在文本中出现的位置
none 规定应该从父元素继承 float 属性的值


主要演示float的left、right属性,看一下全部右浮动吧:
  1. h1,p{

  2.                         float: right;
  3.                 }
复制代码

效果图:
Snip20170119_107.png


看到了不,h1、p,按照从右到左,全部紧靠在页面右边。

同时左浮动:
  1. h1,p{

  2.                         float: left;
  3.                 }
复制代码

效果图:
Snip20170119_109.png


一左一右呢:
  1. h1{
  2.                         float: left;
  3.                 }
  4.                 p{
  5.                         float: right;
  6.                 }
复制代码

效果图:
Snip20170119_110.png


由于浮动的设置,h1和p这两个块状元素,不再是默认的各占一行。

如果你还想让他们各占一行,那么就用clear。

仍是会左右浮动,只是各占一行。
  1.         h1,p{

  2.                         clear: both;
  3.                 }
复制代码

效果图:
Snip20170119_111.png


知道怎么玩,float属性后,来了解下CSS中的,绝对&相对定位。

相对,根据上下文变化,用金庸大师的话就是:

他强任他强,清风抚山岗。

他横由他横,明月照大江。


那绝对,就是非相对 ,你自己指定坐标。

来,继续在上面的代码上修改,把span从内联元素改为块状元素。
  1. span{
  2.               display: block;
  3.                 position: relative;
  4.                 }
复制代码

效果图:
Snip20170119_113.png


span,根据上下文变化而变化,自行调整了位置。

默认情况下,块状元素都是采用relative相对定位方式

修改span为绝对定位方式:
  1.        span{
  2. position: absolute;}
复制代码

效果图:
Snip20170119_114.png


厉害了,竟然连位置都变了。。。

虽然绝对定位的元素号称“绝对”,但是实际要有参照物

像刚才直接,设置绝对定位,产生的结果就是:

span在绝对定位下,不会占用段落空间,其前后文字自动衔接在了一起。

span浮动在段落下方,遮挡住剩余文字。

就像产生了一个”图层“

现在把,p也设置为绝对:
  1. p{
  2.                         position: absolute;

  3.                 }
复制代码

效果图:
Snip20170119_115.png


图层效果,是不是更清楚了。。。

由于标题,往往不会这么脑残设置浮动在文本上,我们用相对定位就好。

看一下,如何妙手回春,修复span


  • 让span变得不遮挡文字

    设置z-index属性为-1,默认为0代表木有深度。

    -1,就是显示在这些文字的下方。
    1. span{
    2.       z-index: -1;
    3. }
    复制代码

    效果图:
    Snip20170119_116.png



  • 按照坐标随意移动

    可以通过设置绝对定位元素的top、left、botton、right等属性来移动span
    1. span{
    2. top:250px;
    3.               left: 100px;
    4. }
    复制代码


    效果图:
    Snip20170119_117.png


    “-”的向上向左,"+"的向下向右







这位鱼油,如果喜欢本系列HTML帖子,请订阅 专辑传送门)(不喜欢更要订阅

本帖被以下淘专辑推荐:

1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
累计签到:7 天
连续签到:1 天
最佳答案
0 
发表于 2017-3-5 11:13:09 | 显示全部楼层
感觉如果是排版新闻什么的 应该很漂亮!
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
累计签到:360 天
连续签到:30 天
最佳答案
76 
发表于 2017-3-5 11:27:08 | 显示全部楼层
SonOmiga 发表于 2017-3-5 11:13
感觉如果是排版新闻什么的 应该很漂亮!


是的,排什么重要

重要的是排盘方法
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
累计签到:531 天
连续签到:1 天
最佳答案
23 
发表于 2017-3-29 12:52:24 | 显示全部楼层
绝对定位的 父级相当于浏览器内容区,
相对定位的 父级就是包含他的标签是这样吧。
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
累计签到:360 天
连续签到:30 天
最佳答案
76 
发表于 2017-3-29 16:44:56 | 显示全部楼层
wei_Y 发表于 2017-3-29 12:52
绝对定位的 父级相当于浏览器内容区,
相对定位的 父级就是包含他的标签是这样吧。


可以这么理解

但”绝对和相对“,比起用继承来理解,不如直接从位置角度来理解。

绝对,就是自己指定坐标。

相对,按照文档流自行排版
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
累计签到:100 天
连续签到:1 天
最佳答案
0 
发表于 2017-4-25 10:01:25 | 显示全部楼层
交作业
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.         <meta charset="UTF-8">
  5.         <title>float</title>
  6.         <style type="text/css">
  7.                 h1 {
  8.                         width: 133px;
  9.                         float: right;
  10.                 }

  11.                 p {
  12.                         top:100px;
  13.                         width: 233px;
  14.                         position: absolute;       
  15.                         /*当使用绝对定位时,浮动float属性就失效了*/
  16.                         /*float: right;*/       
  17.                 }
  18.                 h1,p{
  19.                         clear: both;
  20.                 }
  21.                 #span {
  22.                         color: #FFF;
  23.                         background: #9F88FF;
  24.                         position: relative;
  25.                         z-index: -1;
  26.                         /*top:100px;
  27.                         left: 100px;*/
  28.                        
  29. /*z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。
  30. 注释:元素可拥有负的 z-index 属性值。
  31. 注释:Z-index 仅能在定位元素上奏效(例如 position:absolute;)!
  32. */
  33.                 }

  34.                 #p1{
  35.                         background-color: beige;
  36.                         top:100px;
  37.                         width: 233px;
  38.                         position: relative;
  39.                         float: right;
  40.                 }
  41.                 #span1{
  42.                         color: #FFF;
  43.                         background: #9F88FF;
  44.                         position: relative;
  45.                         top:100px;
  46.                         right: 100px;
  47.                         /*        绝对,就是自己指定坐标。
  48.                                 相对,按照文档流自行排版,当使用top left...将内容移动时,原来的排版布局不变,内容移动了
  49.                         */
  50.                 }
  51.         </style>

  52. </head>
  53. <body>
  54. <h1>恐怖分子</h1>
  55. <p>恐怖分子,就像一只想要大闹瓷器店的苍蝇。本身很弱小,凭一己之力连一只茶杯也挪动不了!<span id="span">但是,它可以钻进一头牛的耳朵中,不停的嗡嗡叫</span>,让牛因恐惧和愤怒而发狂。从而,冲进瓷器店,撞毁一切!</p>
  56. <p id="p1">恐怖分子,就像一只想要大闹瓷器店的苍蝇。本身很弱小,凭一己之力连一只茶杯也挪动不了!<span id="span1">但是,它可以钻进一头牛的耳朵中,不停的嗡嗡叫</span>,让牛因恐惧和愤怒而发狂。从而,冲进瓷器店,撞毁一切!</p>
  57. </body>
  58. </html>
复制代码
0022float.png
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
累计签到:510 天
连续签到:30 天
最佳答案
0 
发表于 2017-7-18 02:52:08 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋手机版Archiver( 粤公网安备 44051102000370号 | 粤ICP备11014136号

© 2010-2017 FishC.com GMT+8, 2017-7-28 12:33 Powered by Discuz! X2.5 Theme by dreambred

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