5-23 7,922 views
目前很多主流的前端框架都有响应式的控件样式,但有时为了响应式而引入框架没太大必要
响应式样式对前端新人来说可能不太熟悉,下面写了一个比较简单的响应式例子:
CSS:
- body{
- padding: 0;
- margin: 0;
- }
- .title{
- display: none;
- }
- .container{
- background-color: #E9E9EC;
- text-align: center;
- margin: 0 auto;
- font-size: 20px;
- }
- /* PC或中大型笔记本设备 desktop */
- @media all and (min-width: 1201px) {
- .title-desktop{
- display: block !important;
- }
- .container {
- width: 1100px;
- }
- }
- /* 中小型笔记本或大平板 laptop */
- @media all and (min-width: 980px) and (max-width: 1200px) {
- .title-laptop{
- display: block !important;
- }
- .container {
- width: 920px;
- }
- }
- /* 中型平板或小型笔记本 tablet */
- @media all and (min-width: 768px) and (max-width: 979px) {
- .title-tablet{
- display: block !important;
- }
- .container {
- width: 720px;
- }
- }
- /* 手机或小平板 phone */
- @media all and (max-width: 767px) {
- .title-phone{
- display: block !important;
- }
- .container {
- width: 90%;
- }
- }
html:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>响应式网页css写法</title>
- <link rel="stylesheet" type="text/css" href="style.css">
- <!--[if (IE 6) | (IE 7) | (IE 8) ]>
- <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
- <![endif]-->
- </head>
- <body>
- <div class="container">
- <div class="title title-desktop">
- PC或中大型笔记本
- </div>
- <div class="title title-laptop">
- 中小型笔记本或大平板
- </div>
- <div class="title title-tablet">
- 中型平板或小型笔记本
- </div>
- <div class="title title-phone">
- 手机或小平板
- </div>
- </div>
- </body>
- </html>
演示地址:http://wx.karlew.com/xys/
需要注意的几点:
1.viewport 的 initial-scale=1.0要加上,不然手机上获取的是实际分辨率而不是浏览器分辨率
2.IE678不支持@media 规则,若要兼容,需要把响应式相关样式写到外部样式表中,并引入respond.js
3.实例中5个分辨率范围不可参考,实际生产中可看情况划分3~4个范围