移动开发技巧以及弹性布局

[ViewPort基本知识]
   设置布局ViewPort的各种信息:
   1.width=device-width;  设置viewpoint视口宽度等于设备宽度;
   2.initial-scale=1; 网页默认缩放比为1(网页在手持设备上,不会进行默认缩放)
   3.minimum-scale=1 网页最小缩放比为1
   4.maximum-scale=1 网页最大缩放比为1
   5.user-scalable=no 禁止用户手动缩放网页的 (IOS10+ 的设备失效)
   
   在手机站以及响应式网站的制作中,网页必须添加下述viewpoint的设置语句
  
  <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  
  
  
   禁止设备将手机号、邮箱进行识别,取消点击拨打电话等事件。

<meta name="format-detection" content="telephone=no,email=no"/>
  
 
   iOS 添加到主屏幕时,WebAPP的标题
  
  <meta name="apple-mobile-web-app-title" content="杰小瑞的APP">
  
  
   IOS添加到主屏幕时,启用WebAPP的全屏模式,删除顶端地址栏和底部工具栏
 
  <meta name="apple-mobile-web-app-capable" content="yes" />
  
  
   IOS 添加到主屏幕时,WebApp的顶部状态栏颜色:
   black:黑色
   white:白色
   black-translucent: 半透明。 (当设置为半透明时,网页将充满整个屏幕,顶部透明的状态栏将盖住网页最上方一小条)

<meta name="apple-mobile-web-app-status-bar-style" content="black">
  
  
   IOS添加到主屏幕时,WebAPP的图标
  
  <link rel="apple-touch-icon-precomposed" href="https://m.360buyimg.com/mobilecms/s80x80_jfs/t5965/339/3633548361/13799/cd4d0416/5954cf81N3294a71c.png" />

设置浏览器,使用最新的IE或Chrome去编译;
   >>> 这句设置语句,不是手机端专用,一般PC网页均需要设置。
  
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
  
  <style type="text/css">
   body{
    [手机端字体样式]
      1、一般手机端不支持微软雅黑字体。
      2、中文字体一般不设置,使用系统默认即可。
      3、英文字体一般设置为font-family: helvetica;
     
    font-family: helvetica;
 设置用户不能选中文本;
      1、手机端不能长按选择;
     、PC端不能用鼠标选择;
    
    -webkit-user-select: none; 
       -moz-user-select: none;

   }
   input{
    去除表单的默认外观,手机、PC均可使用
     
     
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    color:red;
   }
   
  
     设置placeholder的属性
 
   input::-webkit-input-placeholder {
    color: red;
   }
   input:focus::-webkit-input-placeholder {
    color: blue;
   }
   input:-ms-input-placeholder { // IE10+
    color: red;
   }
   input:-moz-placeholder { // Firefox4-18
    color: red;
   }
   input:focus::-moz-placeholder { // Firefox19+
    color: red;
   }
   img,a{
禁止超链接和图片,长按时弹出菜单
    -webkit-appearance:none;
   }

[Flex 弹性布局]
     1、 了解两个基本概念:
        容器: 需要添加弹性布局的父元素;
        项目: 弹性布局容器中的每一个子元素,称为项目;
     
     2、弹性布局的使用?
        ① 给父容器添加display: flex/inline-flex;属性,即可使容器内容采用弹性布局显示,而不遵循常规文档流的显示方式;
        ② 容器添加弹性布局后,仅仅是容器内容采用弹性布局,而容器自身在文档流中的定位方式依然遵循常规文档流;
        ③ display:flex; 容器添加弹性布局后,显示为块级元素;
          display:inline-flex; 容器添加弹性布局后,显示为行级元素;
        ④ 设为 Flex布局后,子元素的float、clear和vertical-align属性将失效。但是position属性,依然生效。
     
     3、 作用于容器的相关属性;
        ① flex-direction属性决定主轴的方向(即项目的排列方向)。
       row(默认值): 主轴为水平方向,起点在左端;
          row-reverse: 主轴在水平方向,起点在右端 ;
          column:主轴为垂直方向,起点在上沿。
      column-reverse:主轴为垂直方向,起点在下沿。
     
        ② flex-wrap属性定义,如果一条轴线排不下,如何换行。
          nowrap(默认):不换行。当容器宽度不够时,每个项目会被挤压宽度;
          wrap: 换行,并且第一行在容器最上方;
          wrap-reverse: 换行,并且第一行在容器最下方。
     
        ③ flex-flow 是flex-direction和flex-wrap的缩写形式,默认值为:flex-flow: row wrap;
     
        ④ justify-content属性定义了项目在主轴上的对齐方式。
     
          >>> 此属性与主轴方向息息相关。 主轴方向为:row-起点在左边,row-reverse-起点在右边, column-起点在上边,column-reverse-起点在下边
     
       flex-start(默认值): 项目位于主轴起点。
      flex-end:项目位于主轴终点。
      center: 居中
      space-between:两端对齐,项目之间的间隔都相等。(开头和最后的项目,与父容器边缘没有间隔)
      space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。(开头和最后的项目,与父容器边缘有一定的间隔)
     
        ⑤ align-items属性定义项目在交叉轴上如何对齐。
          flex-start:交叉轴的起点对齐。
      flex-end:交叉轴的终点对齐。
      center:交叉轴的中点对齐。
      baseline: 项目的第一行文字的基线对齐。(文字的行高、字体大小会影响每行的基线)
      stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
     
     
        ⑥ align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
       (当项目换为多行时,可使用align-content取代align-items)
          flex-start:与交叉轴的起点对齐。
      flex-end:与交叉轴的终点对齐。
      center:与交叉轴的中点对齐。
      space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
      space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
      stretch(默认值):轴线占满整个交叉轴。
     
     
     4、 作用于项目上的属性:
        ① order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。
        ② flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
        ③ flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
        ④ flex-basis定义项目占据的主轴空间。(如果主轴为水平,则设置这个属性,相当于设置项目的宽度。 原width将会失效。)
    
        ⑤ flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。
          此属性有两个快捷设置:auto=(1 1 auto)/none=(0 0 auto)
     
        ⑥ align-self:定义单个项目自身在交叉轴上的排列方式,可以覆盖掉容器上的align-items属性。
          属性值:与align-items相同,默认值为auto,表示继承父容器的align-items属性值。

时间: 2024-10-27 08:46:38

移动开发技巧以及弹性布局的相关文章

HTML5-移动开发常用技巧与弹性布局的使用

一.移动开发常用技巧 Viewport基本知识 设置布局Viewport的各种信息 1.width=device-width: 设置Viewport视口宽度等于设备宽度 2.initial-scale=1: 网页默认缩放比为1(网页在手持设备上,不会进行默认缩放 3.minimum-scale=1 网页最小缩放比为1 4.maximum-scale=1 网页最小大缩放比为1 5.user-scalable=no 禁止用户手动缩放网页(ios10+ 的设备失效) 在手机站及响应式网站的制作中,网页

安卓开发技巧一:深入理解Android布局中Layout_weight的属性

今天开始将要为大家介绍一些安卓开发过程将要用到的一些技巧,这些技巧全部来自网络搜集,或者自己在企业做项目的时候总结出来的,利用这些技巧将会对我们开发带来非常方便的便捷性. 先来记录一下这一段时间的技巧目录,方便大家以后方便查阅(大概有不到三十种的技巧总结,大概每周分享两个技巧,笔者将尽可能写的详细,以及提供实例源码): 安卓开发技巧一:深入理解Android布局中Layout_weight的属性 安卓开发技巧二:自定义日志工具类 安卓开发技巧三:Activity的启动模式 安卓开发技巧四:分享一

从零开始学习前端开发 — 12、CSS3弹性布局

一.分栏布局 1.设置栏数 column-count:数值; 2.设置每栏的宽度 column-width:数值+单位; 注:当设置了column-width,column-count会失效,二者设置其一即可 3.设置栏间距 column-gap:数值+单位; 4.设置栏间隔线 column-rule:5px solid|dashed|dotted black; 5.设置是否跨栏显示 column-span:all(跨栏)|none(不跨栏); 注:a)给需要跨栏显示的元素设置该属性 b) 该属

Flex弹性布局在移动设备上的应用

引文 首先,我们有表格布局.当不考虑语义并且利用一些适当的嵌套和其他技巧,我们可以用table建立具有一定功能的布局. 然后是现在大多数人都在使用的浮动布局.我们可以使用任何我们想用的元素,但浮动并不适用于初学者.表面上它看起来很基础,但背后复杂的功能可以使经验丰富的开发者看着自己的屏幕不知所措.另外,浮动布局有一个缺点就是需要通过额外的元素清除浮动,或者更好一点,可以清除CSS浮动而不添加额外的标签. 这些缺点使得浮动布局不是很容易掌握,因为没有一个默认的方法可以建立起浮动与元素之间的关系,所

固定宽度、流体和弹性布局

到目前为止,所有示例都使用以像素为单位定义的宽度.这种类型的布局称为固定宽度的布局,由于它是刚性的,有时候也称为“冰布局”.固定宽度的布局非常常见,因为它使开发人员对定位和布局有更大的控制力.但是,固定布局也有缺点,首先,因为它是固定的,所以无论窗口的尺寸有多大,它们的尺寸总是不变,因此无法充分利用空间.随着屏幕分辩率的变化,固定宽度布局的缺点也越来越明显.其次,另一个问题涉及行长和文本的可读性,固定宽度的布局对浏览器默认字号往往是合适的,但是,只要将文本字号增加几级,边栏就会挤满空间并且行长太

移动端:开发技巧

开发技巧 一.基本开发技巧 meta相关 webkit内核中有一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用 移动端H5开发所遇到的问题与细节,以及ios兼容 https://blog.csdn.net/dwb123456123456/article/details/82663563 HTML5标签的使用 开发移动端页面时,建议前端工程师使用HTML5,HTML5可以实现一些HTML4中无法实现的丰富的WEB应用程序的体验,减少开发者的工作量 块级化a标签 由产品

经典收藏 50个jQuery Mobile开发技巧集萃

1.Backbone移动实例 这是在Safari中运行的一款Backbone移动应用程序.想开始体验移动开发,一个好的出发点就是关注这个应用程序的构建方式.先不妨在你的浏览器中查看该应用程序. 相关链接:http://bennolan.com/2010/11/24/backbone-jquery-demo.html 2.使用媒体查询来锁定设备 你可能会问如何使用CSS来锁定设备(根据屏幕尺寸).比如说,你想要为iPad设计两列布局.为智能手机设计单列布局.要做到这一点,最佳办法就是使用媒体查询.

CSS3 弹性布局弹性流(flex-flow)属性详解和实例

弹性布局是CSS3引入的强大的布局方式,用来替代以前Web开发人员使用的一些复杂而易错hacks方法(如使用float进行类似流式布局). 其中flex-flow是flex-direction和flex-wrap属性的简写方式,语法如下: flex-flow: <flex-direction> || <flex-wrap> flex-direction: row(初始值) | row-reverse | column | column-reverse flex-wrap: nowr

网页布局之---固定布局、流动布局、弹性布局(转)

原文地址 有一个问题已经困扰网页设计师们很久了:该使用固定.流动.弹性,还是混合布局呢?它们各有优缺点.最终的决定取决于网站的可用性,单用某一种布局就想达到目的,可能没那么容易.那么,既然如此令人困惑,是否有做出正确决定的诀窍呢?考虑好几个问题,恰当地设定目标结果,你也能做出融合各方优点的成功布局设计. 为什么要争论这些?网页设计受可用性的大棒指引,而由于网站用户的多样性,已经很难做出对不同用户都有足够可用性的网站. 当设计的网站会面向众多用户时,设计师必须考虑访客之间的下列潜在差异: 屏幕分辨