精华内容
下载资源
问答
  • 手机web网页布局

    千次阅读 2018-06-27 11:04:35
    允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的?其实并不难。 首先,在网页代码的头部,加入一行viewport元标签。 <meta name="viewport" content="width=device-...
    一. 允许网页宽度自动调整:
    
    "自适应网页设计"到底是怎么做到的?其实并不难。
    
    首先,在网页代码的头部,加入一行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代码不能指定像素宽度:
    
    width:xxx px;
    
    只能指定百分比宽度:
    
    width: xx%; 
    
    或者:width: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;
        width: 70%; 
      }
      .leftBar {
        float: left;
        width: 25%;
      }
    float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。
    另外,绝对定位(position: absolute)的使用,也要非常小心。
    
    
    五. "自适应网页设计"的核心,就是CSS3引入的Media Query模块。
    它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。
      <link rel="stylesheet" type="text/css"
        media="screen and (max-device-width: 400px)"
        href="tinyScreen.css" />
    上面的代码意思是,如果屏幕宽度小于400像素(max-device-width: 400px),就加载tinyScreen.css文件。
      <link rel="stylesheet" type="text/css"
        media="screen and (min-width: 400px) and (max-device-width: 600px)"
        href="smallScreen.css" />
    如果屏幕宽度在400像素到600像素之间,则加载smallScreen.css文件。
    除了用html标签加载CSS文件,还可以在现有CSS文件中加载。
      @import url("tinyScreen.css") screen and (max-device-width: 400px);
    
    
    六. CSS的@media规则
    同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。
      @media screen and (max-device-width: 400px) {
        .column {
          float: none;
          width:auto;
        }
        #sidebar {
          display:none;
        }
      }
    上面的代码意思是,如果屏幕宽度小于400像素,则column块取消浮动(float:none)、宽度自动调节(width:auto),sidebar块不显示(display:none)。
    
    
    七. 图片的自适应(fluid image)
    除了布局和文本,"自适应网页设计"还必须实现图片的自动缩放。
    这只要一行CSS代码:
      img { max-width: 100%;}
    这行代码对于大多数嵌入网页的视频也有效,所以可以写成:
      img, object { max-width: 100%;}
    老版本的IE不支持max-width,所以只好写成:
      img { width: 100%; }
    此外,windows平台缩放图片时,可能出现图像失真现象。这时,可以尝试使用IE的专有命令:
      img { -ms-interpolation-mode: bicubic; }
    或者,Ethan Marcotte的imgSizer.js。
      addLoadEvent(function() {
        var imgs = document.getElementById("content").getElementsByTagName("img");
        imgSizer.collate(imgs);
      });
    
    展开全文
  • jil widget wap等网页中实现手机全屏布局例子
  •  不管浏览器尺寸具体是多少,网页布局始终按照最初写代码时的布局来显示。常规的pc的网站都是静态(定宽度)布局的,也就是设置了min-width,这样的话,如果小于这个宽度就会出现滚动条,如果大于这个宽度则内容...
        

    一、静态布局(static layout)

      即传统Web设计,网页上的所有元素的尺寸一律使用px作为单位。

    1、布局特点

      不管浏览器尺寸具体是多少,网页布局始终按照最初写代码时的布局来显示。常规的pc的网站都是静态(定宽度)布局的,也就是设置了min-width,这样的话,如果小于这个宽度就会出现滚动条,如果大于这个宽度则内容居中外加背景,这种设计常见于pc端。

    2、设计方法

      PC:居中布局,所有样式使用绝对宽度/高度(px),设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅被遮掩部分;
      移动设备:另外建立移动网站,单独设计一个布局,使用不同的域名如wap.或m.。

    优点:这种布局方式对设计师和CSS编写者来说都是最简单的,亦没有兼容性问题。

    缺点:显而易见,即不能根据用户的屏幕尺寸做出不同的表现。当前,大部分门户网站、大部分企业的PC宣传站点都采用了这种布局方式。固定像素尺寸的网页是匹配固定像素尺寸显示器的最简单办法。但这种方法不是一种完全兼容未来网页的制作方法,我们需要一些适应未知设备的方法。

    二、流式布局(Liquid Layout)

      流式布局(Liquid)的特点(也叫"Fluid") 是页面元素的宽度按照屏幕分辨率进行适配调整,但整体布局不变。代表作栅栏系统(网格系统)。

      网页中主要的划分区域的尺寸使用百分数(搭配min-、max-属性使用),例如,设置网页主体的宽度为80%,min-width为960px。图片也作类似处理(width:100%, max-width一般设定为图片本身的尺寸,防止被拉伸而失真)。

    1. 布局特点

      屏幕分辨率变化时,页面里元素的大小会变化而但布局不变。【这就导致如果屏幕太大或者太小都会导致元素无法正常显示。

    2. 设计方法

      使用%百分比定义宽度,高度大都是用px来固定住,可以根据可视区域 (viewport) 和父元素的实时尺寸进行调整,尽可能的适应各种分辨率。往往配合 max-width/min-width 等属性控制尺寸流动范围以免过大或者过小影响阅读。

    这种布局方式在Web前端开发的早期历史上,用来应对不同尺寸的PC屏幕(那时屏幕尺寸的差异不会太大),在当今的移动端开发也是常用布局方式,但缺点明显:主要的问题是如果屏幕尺度跨度太大,那么在相对其原始设计而言过小或过大的屏幕上不能正常显示。因为宽度使用%百分比定义,但是高度和文字大小等大都是用px来固定,所以在大屏幕的手机下显示效果会变成有些页面元素宽度被拉的很长,但是高度、文字大小还是和原来一样(即,这些东西无法变得“流式”),显示非常不协调

    三、自适应布局(Adaptive Layout)

      自适应布局的特点是分别为不同的屏幕分辨率定义布局,即创建多个静态布局,每个静态布局对应一个屏幕分辨率范围。改变屏幕分辨率可以切换不同的静态局部(页面元素位置发生改变),但在每个静态布局中,页面元素不随窗口大小的调整发生变化。可以把自适应布局看作是静态布局的一个系列。

    1、布局特点

      屏幕分辨率变化时,页面里面元素的位置会变化而大小不会变化。

    2、设计方法

      使用 @media 媒体查询给不同尺寸和介质的设备切换不同的样式。在优秀的响应范围设计下可以给适配范围内的设备最好的体验,在同一个设备下实际还是固定的布局。

    四、响应式布局(Responsive Layout)

      随着CSS3出现了媒体查询技术,又出现了响应式设计的概念。响应式设计的目标是确保一个页面在所有终端上(各种尺寸的PC、手机、手表、冰箱的Web浏览器等等)都能显示出令人满意的效果,对CSS编写者而言,在实现上不拘泥于具体手法,但通常是糅合了流式布局+弹性布局,再搭配媒体查询技术使用。——分别为不同的屏幕分辨率定义布局,同时,在每个布局中,应用流式布局的理念,即页面元素宽度随着窗口调整而自动适配。即:创建多个流体式布局,分别对应一个屏幕分辨率范围。可以把响应式布局看作是流式布局和自适应布局设计理念的融合。

      响应式几乎已经成为优秀页面布局的标准。

    1. 布局特点

      每个屏幕分辨率下面会有一个布局样式,即元素位置和大小都会变。

    2. 设计方法

      媒体查询+流式布局。通常使用 @media 媒体查询 和网格系统 (Grid System) 配合相对布局单位进行布局,实际上就是综合响应式、流动等上述技术通过 CSS 给单一网页不同设备返回不同样式的技术统称。

    优点:适应pc和移动端,如果足够耐心,效果完美。

    缺点:(1)媒体查询是有限的,也就是可以枚举出来的,只能适应主流的宽高。(2)要匹配足够多的屏幕大小,工作量不小,设计也需要多个版本。

    响应式页面在头部会加上这一段代码:

    <meta name="applicable-device" content="pc,mobile">
    <meta http-equiv="Cache-Control" content="no-transform ">

    五、弹性布局(rem/em布局)

    1. rem/em区别:rem是相对于html元素的font-size大小而言的,而em是相对于其父元素。
    2. 使用 em 或 rem 单位进行相对布局,相对%百分比更加灵活,同时可以支持浏览器的字体大小调整和缩放等的正常显示,因为em是相对父级元素的原因没有得到推广。【中国站点制作网页的时候,习惯用CSS强制定义字体大小,保证每个人都看到一致的效果,包括网易、搜狐这些门户网站在内的大部分站点,用的都是绝对单位px(像素)。但是,如果从网站易用性方面考虑,字体大小应该是可变的,一些视力不是那么好的人需要放大字体才能看得清页面内容。然而,占据大部分浏览器市场的IE无法调整那些使用px作为单位的字体大小。国外人士非常重视网站的易用性,相当一部分外国站点已经使用em作为字体单位。
    3. 这类布局的特点是,包裹文字的各元素的尺寸采用em/rem做单位,而页面的主要划分区域的尺寸仍使用百分数或px做单位(同「流式布局」或「静态/固定布局」)。早期浏览器不支持整个页面按比例缩放,仅支持网页内文字尺寸的放大,这种情况下。使用em/rem做单位,可以使包裹文字的元素随着文字的缩放而缩放。
    4. 浏览器的默认字体高度一般为16px,即1em:16px,但是 1:16 的比例不方便计算,为了使单位em/rem更直观,CSS编写者常常将页面跟节点字体设为62.5%,比如选择用rem控制字体时,先需要设置根节点html的字体大小,因为浏览器默认字体大小16px*62.5%=10px。这样1rem便是10px,方便了计算。
    5. 用em/rem定义尺寸的另一个好处是更能适应缩进/以字体单位padding或margin/浏览器设置字体尺寸等情况(因为em/rem相对于字体大小,会同步改变)。例如:p{ text-indent: 2em; }。
    6. 使用rem单位的弹性布局在移动端也很受欢迎。
    7. 其实在移动端使用所谓的弹性布局,是比较勉强的。移动端弹性布局流行起来的原因归根结底是rem单位对于(根据屏幕尺寸)调整页面的各元素的尺寸、文字大小时比较好用。其实,使用vw、vh等后起之秀的单位,可以实现完美的流式布局(高度和文字大小都可以变得“流式”),弹性布局就不再必要了。

    结论
    1.如果只做pc端,那么静态布局(定宽度)是最好的选择;
    2.如果做移动端,且设计对高度和元素间距要求不高,那么弹性布局(rem+js)是最>好的选择,一份css+一份js调节font-size搞定;
    3.如果pc,移动要兼容,而且要求很高那么响应式布局还是最好的选择,前提是设计根据不同的高宽做不同的设计,响应式根据媒体查询做不同的布局。

     

    参考文章: http://www.cnblogs.com/zhuzhe...

    展开全文
  • web 网页布局 过滤器

    2018-04-03 20:05:11
    网页布局: &lt;input ng-model="sname" placeholder="请输入商品名"/&gt;&lt;!-- --&gt; &lt;input ng-model="stel" placeholder="请输入手机号"/&...

    网页布局:

        <input ng-model="sname"  placeholder="请输入商品名"/><!-- -->
    <input ng-model="stel"  placeholder="请输入手机号"/>
    <select ng-model="ss"  ><!--ng-init="ss='已发货'" 给ss赋值 -->
    <option value="">请选择状态</option>
    <option>已发货</option>
    <option>未发货</option>
    </select>




    <button ng-click="sel()">搜索</button>
    <button ng-click="delAll()">批量删除</button>
    <button ng-click="isshow=true">新增订单</button>
    <table border="1px">
    <tr>
    <td>
    <input type="checkbox" ng-model="ck" ng-click="gb()" />
    </td>
    <td>id <button ng-click="px='id';sj=!sj">排序</button>  {{sj}}</td>
    <td>商品名字</td>
    <td>用户名</td>
    <td>手机号</td>
    <td>价格 <button ng-click="px='price';sj=!sj">排序</button> </td>
    <td>地址</td>
    <td>下单时间</td>
    <td>状态</td>
    </tr>
    <tr ng-repeat="d in datas|filter:{gname:sname,tel:stel,state:ss}|orderBy:px:sj" >
    <td><input type="checkbox" ng-model="d.f" /> </td>
    <td>{{d.id}}</td>
    <td ng-click="f=true">
    <span ng-hide="f">{{d.gname}}</span>
    <input ng-show="f"  ng-model="d.gname" ng-blur="f=false"/>
    </td>
    <td>{{d.uname}}</td>
    <td>{{d.tel}}</td>
    <td>{{d.price|currency:"¥"}}</td>
    <td>{{d.provice}}-{{d.city}}</td>
    <td>{{d.regdate|date:'MM-dd hh:mm:ss'}}</td>
    <td>
    <span style="background: yellow;" ng-show="d.state=='未发货'">
    <a href="#" ng-click="d.state='已发货'">未发货</a>

    </span>

    <span style="background: blueviolet;" ng-show="d.state=='已发货'" >已发货</span>
    </td>
    </tr>
    </table>

    添加,城市:

    <form ng-show="isshow">
    {{erros}}<br/>
    id:<input ng-model="id"  /> {{erros.e_id}} <br />
    gname:<input ng-model="gname"  />{{erros.e_gname}}<br />
    uname:<input ng-model="uname" /><br />
    tel:<input ng-model="tel" /><br />
    price:<input ng-model="price" type="number" /><br />
    省:<select id="p" ng-model="pro" οnchange="getcity()"> <!--ng-modle 双向绑定 视图改变对应的变量pro -->
    <option value="">请选择省份</option>
    <option>北京</option>
    <option>上海</option>
    <option>河南</option>
    </select>
    <br/>
    城市:
    <select id="city" ng-model="city"  > <!--ng-modle 双向绑定 视图改变对应的变量pro -->
    <option value="">请选择城市</option>
    </select>
    <br/>
    <button ng-click="save()">保存</button>
    </form>

    城市选择

                    <script>
    var ds=[{"pro":'北京',citys:['海淀','朝阳','昌平']},
    {"pro":'上海',citys:['浦东','浦西']},
    {"pro":'河南',citys:['郑州','安阳','濮阳']}
    ];
    function getcity(){
    var p=$("#p").val();
    var cs=[];
    //根据省 获取对应的城市
    for(var i=0;i<ds.length;i++){
    if(p==ds[i].pro){
    cs=ds[i].citys;
    }
    }
    //先删除
    $("#city option").remove();

    //循环cs,添加option到select中
    for(var i=0;i<cs.length;i++){
    var op=$("<option>"+cs[i]+"</option>")
    //把optoin添加到select
    $("#city").append(op);
    }

    }
    </script>

    网页实现功能

     获取内容

    var app= angular.module("app",[]);
    app.controller("ctrl",function($scope,$http){

    $http.get("http://result.eolinker.com/lKgJQ8Zec38423e5603b8e055d1193a8127c0c060bb1b55?                                   uri=goodstest")
    .success(function(aa){
      $scope.datas= aa;
    })

    批量删除

    //批量删除
    $scope.delAll=function(){
    var f=0;
    for(var i=0;i<$scope.datas.length;i++){
    if ($scope.datas[i].f && $scope.datas[i].state=='未发货'){
    $scope.datas.splice(i,1);
    i--;
    }
    }
    }

    添加内容

    $scope.save=function(){
    $scope.erros=null;
    if($scope.id==undefined||$scope.id==""){
    if($scope.erros==null){
    $scope.erros={};
    }
    $scope.erros.e_id="id不能为空";
    }
    if($scope.gname==undefined||$scope.gname==""){
    if($scope.erros==null){
    $scope.erros={};
    }
    $scope.erros.e_gname="商品名不能为空";
    }
    //是否输入都正确
    if($scope.erros==null){
    $scope.datas.push(
    {"id":$scope.id,"gname":$scope.gname,"uname":$scope.uname,
    "tel":$scope.tel,"price":$scope.price,
    "provice":$scope.pro,"city":$scope.city,
    "regdate":new Date(),"state":"未发货"});
    $scope.isshow=false;


    }

    }

    布局样式

    <style>
    tr:nth-child(2n){
    background: darkgrey;
    }
    tr:nth-child(2n+1){
    background: pink;
    }

    .myborder{
    border: 1px solid red;
    }
    </style>

    展开全文
  • 1. 首先,在网页代码的头部,加入一行viewport元标签,我们一般是不让用户手动的去改变页面的大小的。 <meta name="viewport" content="width=device-width, initial-scale=1" /> viewport是网页默认的...

    1. 首先,在网页代码的头部,加入一行viewport元标签,我们一般是不让用户手动的去改变页面的大小的。

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

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

     

    2. 手机图片和视频上传

    <!-- 选择照片, 如果不加accept="image/*",可能会无法打开手机的相册 -->
    <input type=file accept="image/*">
    <!-- 选择视频 -->
    <input type=file accept="video/*">

     

    转载于:https://www.cnblogs.com/iverson-3/p/11002331.html

    展开全文
  • 网页布局有很多列时,由于Div的高度依赖于内容的多少,所以经常会发生多列不等高的情况。如果各列的背景色不一样会很难看。有很多方法可以实现等高效果。本文将介绍Sliding Faux Columns方法。该方法英文的介绍...
  • Web开发(网页布局

    2021-05-18 08:32:00
    网页布局布局概念、布局常见版式网页布局布局历史HTMLtable布局DIV+CSSdiv — 布局标签css — 布局方法布局比较掌握布局的方法掌握页面搭建的过程PhotoShop简单应用 布局概念、布局常见版式 网页布局 网页布局是指...
  • web页面布局总结

    2019-04-24 16:35:59
    Web网页布局的总结 几乎完全参考:掘金 Web网页布局的主要方式 一、静态布局(static layout) 即传统Web设计,网页上的所有元素的尺寸一律使用px作为单位。 1、布局特点 不管浏览器尺寸具体是多少,网页布局始终...
  • Web标准网页布局书中所有源代码。。。。。。。。
  • Web前端之css网页布局

    2020-11-14 15:13:10
    网页布局 网页布局有很多种方式,一般分为以下几个部分:头部区域、菜单导航区域、内容区域、底部区域。 头部区域 头部区域位于整个网页的顶部,一般用于设置网页的标题或者网页的 logo: CSS3 实例 .header { ...
  • web网页开发页面布局With an understanding of HTML and the fundamentals of CSS, you’re ready to create your first web pages with a sense of design and style. 了解HTML和CSS的基础知识之后,您就可以创建...
  • 为什么在设计网页时,设置一个div ,里面放三个东西,我把左边的设置了浮动,然后给父元素设置了伸缩布局。justify-content:space-between;然后就出错了,但我不知道...
  • CSS网页布局中不推荐使用的HTML标签,请尽量不要使用这些HTML标签。
  • 一、网页布局 网页布局一般分为:网页头部、网页内容部分、网页尾部 html5新增的语义化标签:语义化标签可以让页面的结构更清晰,主要是给搜索引擎去使用。一般低版本浏览器不支持,目前应用最多的是在移动端。 ...
  • CSS网页布局中不推荐使用的HTML标签,请尽量不要使用这些HTML标签。 Do not use these html elements in html pages.   Presentational elements should not be used.   Support for some elements has been ...
  • web网页 页面布局的几种方式

    万次阅读 2018-09-28 11:23:25
    网页基本布局方式: (1)流式布局 Fluid 流布局使用的是百分比,这位网页提供了很强的可塑性和流动性。 通过设置百分比,我们不需要考虑设备尺寸或者屏幕宽度大小了,可以为每种情形找到一种可行的方案,应为你...
  • 介绍基于Web标准的网页制作方法,并以一个实例详细讲解了网页的布局规划、HTML的生成、CSS样式表 的控制,最为直观的介绍了div+css的网页布局方式。这种布局方式因实现了网页表现与内容的分离而使网站的维护及更新 变...
  • 网页布局 Bigginer的简单网页布局
  • DivCss网页布局和高性能Web站点
  • web网页 页面布局的几种方式 转载2017年06月16日 12:19:40 2218 网页基本布局方式: (1)流式布局 Fluid 流布局与固定宽度布局基本不同点 就在于对网站尺寸的侧量单位不同。固定宽度布局使用的是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,643
精华内容 1,857
关键字:

web网页布局