您的位置:首页 > Web前端

web前端兼容问题

2016-03-28 19:49 183 查看
苦苦自学网页一年了,我对网页的理解真的对吗??求解??真心求指导~

以下是我的理解:

制作网页就像是制作一张海报,需要内容和美工。内容由body里的代码表现,而美工则由css。说起美工,我感觉体现在布局、图片和颜色(当然,交互那一块儿这次不讨论)。而布局是网页制作不可回避的一个话题。对于布局我思考了很长时间,也练习了很多网页。我是这样理解的,不知道是否正确:

1.布局的基础是默认的标准流:块级元素横向扩充为父级的长度,纵向根据内容自适应。内联元素横向排列。 然后在默认流的基础上,通过为元素添加margn属性,可以实现元素的隔离,居中排列等一些基本的布局。最后可以通过float属性实现元素横向排列的效果加上position的绝对定位可以实现盒子的叠加。而一个网页的整体布局正是这些分散布局知识的整合。

2.但说起布局,不得不说网页的标记元素,html元素可以分为三类:块级元素、内联元素、可置换元素。正是因为这些元素的一些特性,导致网页布局成为一件复杂的事情。先说margin,看了很多网页教程书,发现对margin的介绍很是浅显。当我查了很多帖子,翻了很多书,才知道原来margin并不是那么简单。首先,对于不同元素margin的用法就有所不同。①块级元素它的特性完全体现,但内联元素里只有左右margin有用 ②大家可能都知道外边距合并问题,但父盒子和第一个子盒子出现的外边距合并问题大家可能会忽略,尽管有文章说这是IE内核的haslayout渲染问题,但我不太赞成,这个最后再说。 正是因为margin这个常用属性对不同元素类别的用法不同,再加上很多新手对网页元素的类别搞得不太清,导致布局时出现很多莫名其妙的问题。
说起根本,我感觉还是和一些教程书有关,没有把网页元素的分类和布局联系起来。

3.现在说说元素类别的之间的一些转换特性。块级元素通过设置浮动可以实现横向排列,达到inline-block的效果。内联元素通过设置浮动和绝对定位也可以达到inline-block的效果。

4.最后,我感觉网页布局大体可以这样:整体的wrap可以通过默认流和margin来实现 而一个盒子内部的细致布局需要这些布局知识的合并。

最后提出我的一些疑问:

1.为什么不同浏览器会有各自的一些私有属性,这些标记的属性不是w3c定义的吗?有人说先出现浏览器再出现html的,到底这中间是个什么关系呢??求解答??

2.w3c里是不是已经把html元素种类分为了block\inline\block-inline三类 而他们之间的转换就是inline通过绝对定位和浮动可以实现block 而block通过display:inline 可以实现block

3.在w3cschool里把margin外边距合并问题归为了垂直外边距合并和普通的合并两类,而on having layout里吧垂直外边距合并问题归为IE的haslayout问题。我感觉应该不是IE的haslayout问题,因为火狐浏览器也会出现这个问题。到底是怎么回事呢???

自学网页的这一年走了很多弯路,很迷茫,真心希望能在蓝色理想贴吧里遇到点灯之路的人,解答我心中的迷惑,自学的孩子真的伤不起!

希望懂网页布局的一些高手能给我点这方面的指导,上面只是我个人的理解,肯定有问题,虽然是以描述的方式写的,但目的是为了让大家更多的发现我在布局方面理解的问题,真心求大师给我下上面一些疑问的答案!!!!!真心的谢谢~~~!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: