viewport 是用户网页的可视区域。
viewport 翻译为中文可以叫做"视区"。
手机浏览器是把 页面 放在一个虚拟的"窗口"(viewport)中,
通常这个虚拟的"窗口"(viewport)要比 屏幕 宽,
这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),
用户可以通过平移和缩放来看网页的不同部分。
一个常用的针对移动网页优化过的页面的 viewport meta 标签大致如下:
以下实例演示了使用viewport和没使用viewport在移动端上的效果:
代码如下:
beyondの心中の动漫神作
未 闻 花 名
在我们走过的季节里,路旁盛开的花朵也在不断变化,那个季节盛开的花是叫什么来着?轻轻摇曳着,一碰会微微刺痛,靠近一闻,隐约有股青涩的阳光的气息。那气息渐渐地淡去,我们也在慢慢长大。可是,那朵花一定还在某个地方盛开着……对,我们永远都会继续实现那朵花的愿望。
注意:图片会跟着窗口发生缩放
效果如下:
如果你在平板电脑或手机上访问,可以直接点击查看效果。
CSS教程:响应式 Web 设计
响应式 Web 设计让你的网页能在所有设备上有好显示。
响应式 Web 设计只使用 HTML 和 CSS。
响应式 Web 设计不是一个程序或Javascript脚本。
友好的用户体验是网页可以在任何设备上展示和操作,设备包括桌面系统设备,平板电脑,iPhone等手机等。
网页应该根据设备的大小自动调整内容。
页面的设计与开发根据用户行为以及设备环境(系统平台、屏幕尺寸、横竖屏等)进行相应的响应和调整称之为响应式 Web 设计。
很多网页都是基于网格设计的,这说明网页是按列来布局的。
使用网格视图有助于我们设计网页。这让我们向网页添加元素变的更简单。
响应式网格视图通常是 12 列,宽度为100%,
在浏览器窗口大小调整时会自动伸缩。
响应式网格视图
代码如下:asdf(难,完全看不懂!!!)
重置浏览器窗口大小网格会自动伸缩。
效果如下:
接下来我们来创建一个响应式网格视图。
首先确保所有 HTML 元素都有 box-sizing 属性且设置为 border-box。
确保边距和边框包含在元素的宽度和高度间。
添加如下代码:
* { box-sizing: border-box; }
查看更多 box-sizing 内容请点击:CSS3 box-sizing 属性 。
以下实例演示了最最简单的响应式网页,包含两列:
代码如下:
beyondの心中の动漫神作
未 闻 花 名
未 闻 花 名
在我们走过的季节里,路旁盛开的花朵也在不断变化,那个季节盛开的花是叫什么来着?轻轻摇曳着,一碰会微微刺痛,靠近一闻,隐约有股青涩的阳光的气息。那气息渐渐地淡去,我们也在慢慢长大。可是,那朵花一定还在某个地方盛开着……对,我们永远都会继续实现那朵花的愿望。
注意:必须设置所有元素的box-sizing属性为border-box
效果如下:
以上实例包含两列,左边menu占25%,右边main占75%
12 列的网格系统可以更好的控制响应式网页。
首先我们可以计算每列的百分比: 100% / 12 列 = 8.33%。
在每列中指定 class, class="col-" 用于定义每列有几个 span ???Excuse Me???
代码如下:
beyondの心中の动漫神作
未 闻 花 名
- 首页
- APP
- 民间偏方
- 动漫
未 闻 花 名
在我们走过的季节里,路旁盛开的花朵也在不断变化,那个季节盛开的花是叫什么来着?轻轻摇曳着,一碰会微微刺痛,靠近一闻,隐约有股青涩的阳光的气息。那气息渐渐地淡去,我们也在慢慢长大。可是,那朵花一定还在某个地方盛开着……对,我们永远都会继续实现那朵花的愿望。
注意:必须设置所有元素的box-sizing属性为border-box
效果如下:
所有的class含有值col-的列 向左浮动,间距(padding) 为 15px:
每一行使用
列中的行 为左浮动,并添加清除浮动:
我们可以添加一些样式和颜色,让其更好看:
完整代码如下:
beyondの心中の动漫神作
光辉岁月
未 闻 花 名
在我们走过的季节里,路旁盛开的花朵也在不断变化,那个季节盛开的花是叫什么来着?轻轻摇曳着,一碰会微微刺痛,靠近一闻,隐约有股青涩的阳光的气息。那气息渐渐地淡去,我们也在慢慢长大。可是,那朵花一定还在某个地方盛开着……对,我们永远都会继续实现那朵花的愿望。
注意:必须设置所有元素的box-sizing属性为border-box
效果如下:
媒体(media)查询在 CSS3 上有介绍:CSS3 @media 查询。
使用 @media 查询,你可以针对不同的媒体类型定义不同的样式:
演示代码中,如果浏览器窗口小于500px时,背景将变成浅蓝色
代码如下:
beyondの心中の动漫神作
未 闻 花 名
在我们走过的季节里,路旁盛开的花朵也在不断变化,那个季节盛开的花是叫什么来着?轻轻摇曳着,一碰会微微刺痛,靠近一闻,隐约有股青涩的阳光的气息。那气息渐渐地淡去,我们也在慢慢长大。可是,那朵花一定还在某个地方盛开着……对,我们永远都会继续实现那朵花的愿望。
注意:媒体查询可根据窗口大小,动态设置样式
效果如下:
如果浏览器窗口小于 500px, 背景将变为浅蓝色:
在先前的教程中我们使用 行和列 来制作网页,它是响应式的,但在小屏幕上并不能友好的展示。
媒体查询可以帮我们解决这个问题。
我们可以在设计稿的中间添加断点,不同的断点有不同的效果。
使用媒体查询在 768px的宽度处 添加 断点:
即当屏幕小于768px的时候,每一列全宽为100%
当屏幕大于768px的时候,按桌面的效果显示
完整代码如下:
beyondの心中の动漫神作
光辉岁月
未 闻 花 名
在我们走过的季节里,路旁盛开的花朵也在不断变化,那个季节盛开的花是叫什么来着?轻轻摇曳着,一碰会微微刺痛,靠近一闻,隐约有股青涩的阳光的气息。那气息渐渐地淡去,我们也在慢慢长大。可是,那朵花一定还在某个地方盛开着……对,我们永远都会继续实现那朵花的愿望。
注意:必须设置所有元素的box-sizing属性为border-box
手机上屏幕宽小于等于640时,每列全宽100%
效果如下:
当屏幕 (浏览器窗口) 小于 640px, 每一列的宽度是 100%:
移动端优先意味着在设计桌面和其他设备时优先考虑移动端的设计。
这就意味着我们必须对默认的 CSS 做一些改变。
我们对屏幕小于 768px时的默认样式 进行样式修改,
同样在发现屏幕宽度大于 768px 时也需要修改一下特殊的样式。
以下是移动端优先实例:
你可以根据自己的需要添加断点。
我们同样可以为平板设备 和 移动手机设备设置断点。
在屏幕为 660px 时添加媒体查询,并设置ipad屏幕的新的样式(屏幕大于600px但小于768px)
完整代码如下: (牛X)
beyondの心中の动漫神作
光辉岁月
未 闻 花 名
在我们走过的季节里,路旁盛开的花朵也在不断变化,那个季节盛开的花是叫什么来着?轻轻摇曳着,一碰会微微刺痛,靠近一闻,隐约有股青涩的阳光的气息。那气息渐渐地淡去,我们也在慢慢长大。可是,那朵花一定还在某个地方盛开着……对,我们永远都会继续实现那朵花的愿望。
龙与虎
讲述的是逢坂大河与高须龙儿之间的...
轻音少女
号称强国源泉,第一次发现没有男主的动漫也可以这么好看!
效果如下:
注意两组类样式是相同的,但名称不同 (col- 和 col-m-):
以上代码看起来很多余,但是他可以根据屏幕大小自动设置不同的样式,所以还是非常必要的。
默认是手机设备:全部跨100% 即12列
针对桌面设备特殊定制:
第一和第三部分跨越 3 列。中间部分跨域 6 列。
针对平板设备特殊定制:
第一跨域 3列,第二部分跨越 9 列,第三部分跨域 12 列:
结合CSS媒体查询,可以创建适应不同设备的方向(横屏landscape、竖屏portrait等)的布局:
完整代码如下:
beyondの心中の动漫神作
未 闻 花 名
在我们走过的季节里,路旁盛开的花朵也在不断变化,那个季节盛开的花是叫什么来着?轻轻摇曳着,一碰会微微刺痛,靠近一闻,隐约有股青涩的阳光的气息。那气息渐渐地淡去,我们也在慢慢长大。可是,那朵花一定还在某个地方盛开着……对,我们永远都会继续实现那朵花的愿望。
注意:横屏时,背景色会变浅蓝喔~
效果如下: (暂时无法演示,下次补上)
orientation:portrait | landscape
如果是横屏背景将是浅蓝色:
如果 width 属性设置为 100%,图片会根据上下范围实现响应式功能
注意: 图片会放大,超过原来的大小,如果没有height:auto;约束的话,图片会变形
代码如下:
beyondの心中の动漫神作
未 闻 花 名
注意:调整窗口,width:100%,图片也会跟着放大
并且可以超过自身的原始大小
效果如下:
注意在以上实例中,图片会变比它的原始图片还大。我们可以使用 max-width 属性很好的解决这个问题。
如果 max-width 属性设置为 100%, 图片永远不会大于其原始大小:
效果如下:
提示:关于max-width属性的更多内容,请参考本站CSS参考手册中的CSS max-width属性部分。
完整代码如下:
beyondの心中の动漫神作
光辉岁月
未 闻 花 名
在我们走过的季节里,路旁盛开的花朵也在不断变化,那个季节盛开的花是叫什么来着?轻轻摇曳着,一碰会微微刺痛,靠近一闻,隐约有股青涩的阳光的气息。那气息渐渐地淡去,我们也在慢慢长大。可是,那朵花一定还在某个地方盛开着……对,我们永远都会继续实现那朵花的愿望。
龙与虎
讲述的是逢坂大河与高须龙儿之间的...
轻音少女
号称强国源泉,第一次发现没有男主的动漫也可以这么好看!
效果如下:
背景图片也可以响应调整大小或缩放喔~
以下是三个不同的方法:
1. 如果 background-size 属性设置为 "contain", 背景图片将按比例自适应内容区域。
图片保持其比例不变,不会变形,会填充满一个方向,另一个方向会有留白
类似于iOS中的aspect-fit
代码如下:
beyondの心中の动漫神作
未 闻 花 名
注意:调整窗口,background-size的4种样式之一:contain
不会变形,会有一边填充满,另一边留白
效果如下:
这是 CSS 代码:
2. 如果 background-size 属性设置为 "100% 100%" ,背景图片将延展覆盖整个区域:
如果background-size设置为宽100% 高100%,那么显然图片会完全拉伸并铺满div
类似于iOS中的scale-fill
效果如下:
这是 CSS 代码:
3. 如果 background-size 属性设置为 "cover",则会把背景图像等比例放大,
以使背景图像完全覆盖填充div区域,因此一部分的图片像素就不在div里了。
注意该属性保持了图片的比例因此 背景图像的某些部分无法显示在背景定位区域中:
效果如下:
这是 CSS 代码:
大尺寸图片可以显示在大屏幕上,但在小屏幕上却不能很好显示。
我们没有必要在小屏幕上去加载大图片,这样很影响加载速度。
所以我们又可以使用媒体查询了,根据不同的设备显示不同的图片。
以下大图片和小图片将显示在不同设备上:
代码如下:
beyondの心中の动漫神作
未 闻 花 名
注意:调整窗口,小窗口显示小图片,大窗口显示大图片
效果如下:
你可以使用媒体查询的 min-device-width 替代 min-width 属性,
它将检测的是设备宽度而不是浏览器宽度。
浏览器大小重置时,图片大小不会改变。
HTML5 的 <picture>元素可以设置多张图片。
< picture >元素类似于
代码如下:
beyondの心中の动漫神作
未 闻 花 名
注意:调整窗口,小窗口显示小图片,大窗口显示大图片
效果如下:
srcset
属性的必须的,定义了图片资源。
media
属性是可选的,可以在媒体查询的 CSS @media 规则 查看详情。
对于不支持<picture> 元素的浏览器你也可以定义元素来替代。
《响应式图片101》:介绍为什么需要响应式图片以及如何选择正确的响应式图片解决方案。
如果 width 属性设置为 100%,视频播放器会根据屏幕大小自动调整比例:
注意:这个样式,视频可以超过原始大小
代码如下:
beyondの心中の动漫神作
未 闻 花 名
注意:调整窗口,width:100%
视频可以超过原来的大小
效果如下:
注意在以上实例中,视频播放器根据屏幕大小自动调整比例,且可以比原始尺寸还要大。
更多情况下我们可以使用 max-width 属性来替代。
如果 max-width 属性设置为 100%, 视频播放器会根据屏幕自动调整比例,但不会超过其原始大小:
效果如下:
我们可以在网页中添加视频。
以下实例视频根据 div 区域大小自动调整并占满整个 div 区域:
完整代码如下:
beyondの心中の动漫神作
光辉岁月
未 闻 花 名
在我们走过的季节里,路旁盛开的花朵也在不断变化,那个季节盛开的花是叫什么来着?轻轻摇曳着,一碰会微微刺痛,靠近一闻,隐约有股青涩的阳光的气息。那气息渐渐地淡去,我们也在慢慢长大。可是,那朵花一定还在某个地方盛开着……对,我们永远都会继续实现那朵花的愿望。
龙与虎
讲述的是逢坂大河与高须龙儿之间的...
轻音少女
号称强国源泉,第一次发现没有男主的动漫也可以这么好看!
效果如下:
本章节为大家介绍响应式 Web 设计框架 Bootstrap。
Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。
Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。
Bootstrap支持HTML和CSS规范,是由CSS的动态Less语言写成。
更多内容,敬请期待我们的 Bootstrap 教程。
未完待续,下一章节,つづく