早期 <table>, 后来 <div> ,再后来 html5 语意化标签按照自上而下的方式顺次排布。
最初设计目的是用于图文环绕排版、不过目前常用于左右布局。
保持与目标元素(position不为static的最近父元素)的绝对距离,使用场景有顶部固定的广告栏,瀑布流等等。
较为系统的布局方案,详见:https://www.w3cplus.com/css/learncssgrid.html
较为系统的布局方案,详见:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool
静态布局:网页布局始终按照固定的布局和尺寸来显示,不使用 Flex 之类的弹性盒子方案。
实现方法:
对于PC:一般居中布局,所有样式使用绝对宽度/高度(px),屏幕宽高有调整时,使用滚动条来查阅被遮掩部分;
对于移动设备:另外建立移动网站,单独设计一个布局,使用不同的域名如 wap.或m., 在 <viewport meta> 标签上设置 width,页面的各个元素也采用px作为单位。通过用 JS 动态修改标签的initial-scale使得页面等比缩放,从而刚好占满整个屏幕。
优点:这种布局方式对设计师和 CSS 编写者来说都是最简单的,亦没有兼容性问题。
缺点显而易见,不能根据用户的屏幕尺寸做出不同的展现:
流式布局目的是在不同大小的设备上满屏呈现同样网页。它是用于解决类似的设备不同分辨率之间的兼容(一般分辨率差异较少)。
实现方法:
优点:页面左右满屏。
但缺点明显:
自适应布局是为不同的屏幕分辨率分别定义不同的布局。改变屏幕分辨率可以切换不同的静态布局(页面元素位置可能发生改变),但在每个静态布局中,页面元素不随窗口大小的调整发生变化。
自适应布局看作是静态布局的一个合集。
实现方式:
自适应布局 页面里面元素的位置会变化,很好的解决了流式布局中的大屏空间利用率不高弊端。
缺点:单个布局容器无法灵活伸缩,未触发布局切换的情况下,容器仍然容易出现静态布局中提到的问题。
响应式布局同样分别为不同的屏幕分辨率定义布局。改变屏幕分辨率可以通过 CSS Media query 实时地切换不同的布局(页面元素位置可能发生改变),在每个布局中,页面元素会随窗口大小的调整发生流式布局中的自动尺寸变化。
实现方式:
响应式布局 融合了流式布局和自适应布局的优势。
缺点:CSS 代码繁琐,对于特定的设备有较多冗余,适用于对于各个终端(特别是移动端)性能要求不高的 Blog Dos 站点。
布局的目的,归根结底,都是为了网页设计服务。那么就顺带聊一聊和响应式设计(RWD)和自适应设计(AWD)。
Wikipedia: Responsive web design (RWD) is an approach to web design which makes web pages render well on a variety of devices and window or screen sizes. Content, design and performance are necessary across all devices to ensure usability and satisfaction
“Progressive enhancement”, “one-fits-all”
响应式设计基于响应式布局,使用同一套页面在各种各样不同大小的设备上进行大小合适、布局(甚至功能)合理的展现。
响应式设计会根据识别屏幕宽度对于展示的具体内容块进行位置调整,甚至展示和隐藏。
实现方式:
Wikipedia: Adaptive web design is a process of server-side detection that chooses a design layout and size to display. All types of web design layouts can be used, including responsive layout. The adaptive design will serve different versions of the site to different devices based on common screen sizes and resolutions. The only difference is the way the design is looked at from a collateral or device viewpoint rather than the responsive web design (RWD) one-size-fits-all approach to layout
“All types of web design layouts”, “different versions to different devices”,
自适应设计是通过服务端检测设备类型、从 site 的不同版本中选择最合适该设备类型的设计布局/尺寸的版本进行展示。它可以使用到所有(包括响应式布局)布局方案。
实现方式:
相同点:
不同点:
原文来源:http://elevenbeans.github.io/2018/01/12/front-end-layout-methods/
css两端对齐,通过margin负值、justify、space-between、column-count等多种方式来实现css的两端对齐。
flex布局(Flexible Box)是对界面css盒模型的一个优化,适应不同尺寸的屏幕,被定义flex的容器可以控制子元素的排列方向和大小,能够用更简单清晰的代码来完成复杂的布局。
在我们的实际开发中,经常会遇到页面中需要悬浮效果,本文将介绍通过fixed的实现,以及通过原生Js实现滚动到一定位置,实现div的悬浮
CSS中Grid是一种二维网格式布局方式,Grid是为了解决二维布局问题而创建的CSS模块。使用Gird的好处,Gird在浏览器的兼容性,Grid布局的示例源码...
flex常用布局:经典的上-中-下布局。在上-中-下布局的基础上,加了左侧定宽 sidebar。左边是定宽 sidebar,右边是上-中-下布局。还是上-中-下布局,区别是 header 固定在顶部,不会随着页面滚动。左侧 sidebar 固定在左侧且与视窗同高,当内容超出视窗高度时,在 sidebar 内部出现滚动条。
本文中,所有的图形都是在单个标签内实现的,大量使用了 CSS3 中的 ::before 、::after 伪元素,transparent 、border,多重线性与径向渐变,多重内外阴影,如果你的效果不尽人意,请尝试在 Chrome 浏览器下预览。
html实现用时间点来展示事件发生点来代替用table展示一条条数据,能够给人清晰、一目了然能够看清事情发生的过程,UI页面也显示的那么清晰。如何用css+html做出时间轴展示事件点的?
这篇文章主要整理一些关于基于jquery,实现横向/纵向时间轴的插件推荐:jquery.jqtimeline插件、timeline.js插件、Timeglider.js插件、Melon HTML5 、jQuery Timelinr、Timeline Porfolio
css可以通过为元素设置一个position属性值,position定位是指定位置的定位,以下为常用的几种:static(静态定位)、relative定位(相对定位)、absolute定位(绝对定位)、fixed(固定定位)、inherit定位
css圣杯布局思路:外面一个大div,里面三个小div(都是浮动)。实现左右两栏宽度固定,中间宽度自适应。中间栏优先渲染。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!