鱼C论坛

 找回密码
 立即注册
查看: 3280|回复: 2

[已解决]新手 HTML入门求助

[复制链接]
发表于 2018-2-6 22:38:57 | 显示全部楼层 |阅读模式

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

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

x
请看代码中的注释


  1. <!doctype html>
  2. <html>
  3.         <head>
  4.                 <meta charset="utf-8">
  5.                 <title>欢迎进入html5的界面</title>
  6.                 <style type="text/css">
  7.                         html,body{ height: 100%;       /* 不二老师在04不是说body有继承机制,所以这的body可以不用写,为什么我去掉之后效果完全就不一样了呢?当我把此处的body去掉之后,就没有居中效果了*/
  8.                                            color:#ff0088;
  9.                         }

  10.                         body{
  11.                                 background:url(背景.jpg) center center;
  12.                                 background-size:cover;
  13.                                 margin: 0;
  14.                                 padding: 0;
  15.                                 position:relative;
  16.                         }
  17.                         #container{
  18.                                 position:absolute;
  19.                                 top:50%;
  20.                                 width:100%;
  21.                                 transform: translateY(-50%);
  22.                                 text-align:center;
  23.                         }
  24.                 </style>
  25.         </head>
  26.         <body>
  27.                 <p>我爱鱼c</p>
  28.                 <div id='container'>
  29.                         <h1>我爱鱼c</h1>
  30.                         <a href='http:\\www.fishc.com'>传送门</a>
  31.                        
  32.                 </div>
  33.         </body>

  34. </html>
复制代码


抱歉啊,图片太大了上传不了。求帮忙看一下代码
情况是我把body去掉就不会居中了
最佳答案
2018-2-7 10:05:34
本帖最后由 不二如是 于 2018-2-7 10:40 编辑

这是一个固定套路:
  1. html,body{
  2. height: 100%;
  3. color:#ff0088;
  4.         }
复制代码


下面的解释对于初学者可能会不理解:
当html标签无背景样式时,body的背景色其实不是body标签的背景色,而是浏览器的。

一旦html标签含有背景色,则body的背景色变成了正常的body标签自己的背景色。

而此时的html标签最顶级,背景色被浏览器获取,成为浏览器的背景色。


如果不理解,记住:
div的父元素是body,body的父元素是html,通过height:100%层层向上,找到顶级获取定高。



div的100%是从其上一级div的宽高继承来的,有一点很关键,就是要设置div100%显示,必须设置其上一级div的宽度或高度,否则无效。

通过这种方式,让div顺利居中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-7 10:05:34 | 显示全部楼层    本楼为最佳答案   
本帖最后由 不二如是 于 2018-2-7 10:40 编辑

这是一个固定套路:
  1. html,body{
  2. height: 100%;
  3. color:#ff0088;
  4.         }
复制代码


下面的解释对于初学者可能会不理解:
当html标签无背景样式时,body的背景色其实不是body标签的背景色,而是浏览器的。

一旦html标签含有背景色,则body的背景色变成了正常的body标签自己的背景色。

而此时的html标签最顶级,背景色被浏览器获取,成为浏览器的背景色。


如果不理解,记住:
div的父元素是body,body的父元素是html,通过height:100%层层向上,找到顶级获取定高。



div的100%是从其上一级div的宽高继承来的,有一点很关键,就是要设置div100%显示,必须设置其上一级div的宽度或高度,否则无效。

通过这种方式,让div顺利居中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-7 21:26:29 | 显示全部楼层
不二如是 发表于 2018-2-7 10:05
这是一个固定套路:

还是有些不懂,不二老师,你的意思是:要设置div的高度为100%就要设置它的父级body( 此处div的上以及div为body? ) 的宽度为100%,要设置body的宽度就要又设置它的父级html的宽度,是这样吗?

但是我的问题是:body会继承啊,所以body可以省略不用写,body的高度属性也会和它的父级一样,所及最终也可以设置了div,对吗?

然后由于此处html标签没有背景样式,body的背景颜色和高度都是浏览器默认给的,所以body是不能省略的。


还有最后一个疑问就是:为什么我把body去掉之后,只是文字的位置改变了而文字的颜色没有改变?难道说是因为高度没有继承的特性吗?


不好意思啊,不二老师,问题比较多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-16 13:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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