zoukankan      html  css  js  c++  java
  • 【转】手机web——自适应网页设计(html/css控制)

    手机web——自适应网页设计(html/css控制)

    就目前形势来看,Web App 正是眼下的一个趋势和潮流,但是,对于Web App的设计可能大家有的不是很了解,下面就将整理好的网页设计的技巧奉献给大家。

    作者:佚名来源: 68design | 2013-09-04 11:02

    一. 允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的?

    其实并不难。

    首先,在网页代码的头部,加入一行viewport元标签。

    <meta name="viewport" content="width=device-width, initial-scale=1" />

    viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。

    对于viewport属性,我是真正在接触移动web开发是才遇到的,一把的ps布局都是固定的960px,1000px这种。

    下面三篇文章是对viewport属性详细的解释:

      Viewport(视区概念)——pc端的理解

          Viewport(视区概念)——移动端的应用

          viewport ——视区概念(转) 对于老式IE6,7,8浏览器需要js处理,由于主要平台是ios和安卓,所有可以暂时不考虑

    二. 不使用绝对宽度 由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。

    这一条非常重要。

    具体说,CSS代码不能指定像素宽度: xxx px; 只能指定百分比宽度: xx%; 或者:auto; 这里开发是指一个网页不仅能用在ps上,也能同时用于移动端,但是对于webapp这种还是需要单独做一个webapp使用的页面。

    对于这个知识点,对于我目前做的项目有用处,主要用于控制限定数据库里读出来的图片宽度。

    详见:手机webapp的jquery mobile初次使用心得和解决图片自适应大小问题

    三. 相对大小的字体 字体也不能使用绝对大小(px),而只能使用相对大小(em)。

    body { font: normal 100% Helvetica, Arial, sans-serif; }  

    上面的代码指定,字体大小是页面默认大小的100%,即16像素。

    h1 { font-size: 1.5em; }  

    然后,h1的大小是默认大小的1.5倍,即24像素(24/16=1.5)。

    small { font-size: 0.875em; }  

    small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。

    四. 流动布局(fluid grid) "流动布局"的含义是,各个区块的位置都是浮动的,不是固定不变的。  

    main { float: right;  70%; } .leftBar { float: left;  25%; }  

    float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。

    另外,绝对定位(position: absolute)的使用,也要非常小心。

    五. "自适应网页设计"的核心,就是CSS3引入的Media Query模块。 它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。

    <link rel="stylesheet" type="text/css" media="screen and (max-device- 400px)" href="tinyScreen.css" />  

    上面的代码意思是,如果屏幕宽度小于400像素(max-device- 400px),就加载tinyScreen.css文件。  

    <link rel="stylesheet" type="text/css" media="screen and (min- 400px) and (max-device- 600px)" href="smallScreen.css" /> 

    如果屏幕宽度在400像素到600像素之间,则加载smallScreen.css文件。 除了用html标签加载CSS文件,还可以在现有CSS文件中加载。

    @import url("tinyScreen.css") screen and (max-device- 400px);  

    六. CSS的@media规则 同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。

    @media screen and (max-device- 400px) { .column { float: none; auto; } #sidebar { display:none; } }  

    上面的代码意思是,如果屏幕宽度小于400像素,则column块取消浮动(float:none)、宽度自动调节(auto),sidebar块不显示(display:none)。

    七. 图片的自适应(fluid image) 除了布局和文本,"自适应网页设计"还必须实现图片的自动缩放。 这只要一行CSS代码:  

    img { max- 100%;}这行代码对于大多数嵌入网页的视频也有效,所以可以写成:img, object { max- 100%;}

    老版本的IE不支持max-width,

    所以只好写成: img { 100%; }

    此外,windows平台缩放图片时,可能出现图像失真现象。这时,可以尝试使用IE的专有命令:  

    img { -ms-interpolation-mode: bicubic; } 或者,Ethan Marcotte的imgSizer.js。 addLoadEvent(function() { var imgs = document.getElementById("content").getElementsByTagName("img"); imgSizer.collate(imgs); });  

    不过,有条件的话,最好还是根据不同大小的屏幕,加载不同分辨率的图片。有很多方法可以做到这一条,服务器端和客户端都可以实现。

    八. 禁止放大缩小

    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> 

    九. 点击按钮下载文件

    下载文件放到web目录下,webserver是移植的goahead。

    <!DOCTYPE html> 
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />  
    <html> 
    <head> 
    <meta charset="utf-8"> 
    <title>无线手诊仪软件下载</title> 
    </head> 
    <body> 
        <font color="#FF0000">www.divcss5.com 设置文本颜色</font><br /> 
        <font size="6">www.divcss5.com 设置文本字体大小</font><br /> 
        <font face="微软雅黑">微软雅黑字体 设置了文本字体</font> 
        <h1>我的第一个标题</h1> 
        <p>我的第一个段落</p> 
        <p> 
            <form id="form1" name="form1" method="" action="http://www.divcss5.com/" target="_blank"> 
                <div> 
                    <input type="button" value="电脑软件下载"  onclick="window.location.href='goahead'" style=" 120px; height: 60px; " />
                </div> 
                <div> 
                    <input type="button" value="安卓软件下载"  onclick="window.location.href='goahead-test'" style=" 120px; height: 60px; " />
                </div> 
                <div> 
                    <input type="button" value="苹果软件下载"  onclick="window.location.href='lihuaskinapp.bak'" style=" 120px; height: 60px; " />
                </div> 
            </form> 
        </p> 
    </body> 
    </html>
  • 相关阅读:
    HDU4628+状态压缩DP
    Javascript 去掉字符串前后空格的五种方法
    Javascript 数组之判断取值和数组取值
    ASP.NET MVC 出现错误 “The view 'XXX' or its master was not found or no view engine support”
    ASP.NET MVC 页面调整并传递参数
    ASP.NET MV3 部署网站 报"Could not load file or assembly ' System.Web.Helpers “ 错的解决方法
    ASP.NET MVC 控制器向View传值的三种方法
    CSharp 如何通过拼接XML调用存储过程来查询数据
    SQLServer : EXEC和sp_executesql的区别
    关于SQLServer2005的学习笔记—异常捕获及处理
  • 原文地址:https://www.cnblogs.com/cslunatic/p/5654046.html
Copyright © 2011-2022 走看看