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问题,因为火狐浏览器也会出现这个问题。到底是怎么回事呢??? 自学网页的这一年走了很多弯路,很迷茫,真心希望能在蓝色理想贴吧里遇到点灯之路的人,解答我心中的迷惑,自学的孩子真的伤不起! 希望懂网页布局的一些高手能给我点这方面的指导,上面只是我个人的理解,肯定有问题,虽然是以描述的方式写的,但目的是为了让大家更多的发现我在布局方面理解的问题,真心求大师给我下上面一些疑问的答案!!!!!真心的谢谢~~~!!! |
相关文章推荐
- LeetCode笔记:237. Delete Node in a Linked List
- Qt链接程序时出现“undefined reference to vtable for”的解决方法
- 学习React Native想到的问题
- JS同个浏览器,同一个连接只打开一次
- 【JQuery】:input表单选择器
- JS 事件基础 事件绑定函数
- EaselJS的Text中文不会自动换行的问题
- Sublime Text3 无法使用LiveReload插件的解决方法
- web api 初体验 解决js调用跨域问题
- IE对于overflow:hidden;及其它CSS属性不兼容问题
- 关于页面按回车提交的控制/输入框回车发送消息与输入法冲突
- JavaScript match() 方法
- JavaScript之基础-16 JavaScript 原型与继承
- jQuery
- 【JQuery】:first-child子元素过滤选择器
- 15、响应式布局和BootStrap 全局CSS样式知识点总结-part2
- AngularJS日期格式化
- 8Days
- html5视频问题
- 【JQuery】[attribute*=value]属性选择器