鱼C论坛

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

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

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

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

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

x
请看代码中的注释

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

                        body{
                                background:url(背景.jpg) center center;
                                background-size:cover;
                                margin: 0;
                                padding: 0;
                                position:relative;
                        }
                        #container{
                                position:absolute;
                                top:50%;
                                width:100%;
                                transform: translateY(-50%);
                                text-align:center;
                        }
                </style>
        </head>
        <body>
                <p>我爱鱼c</p>
                <div id='container'>
                        <h1>我爱鱼c</h1>
                        <a href='http:\\www.fishc.com'>传送门</a>
                        
                </div>
        </body>

</html>

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

这是一个固定套路:
html,body{ 
height: 100%; 
color:#ff0088;
        }

下面的解释对于初学者可能会不理解:
当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 编辑

这是一个固定套路:
html,body{ 
height: 100%; 
color:#ff0088;
        }

下面的解释对于初学者可能会不理解:
当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-12-22 17:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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