技术开发 频道

iphone开发起步的12个技巧

  5. 特定方向样式

  有时你可能需要依靠方向使用样式格式化你的内容,需要三个简单的步骤:

  1. 在我们的标记中,给body单元添加一个类名(可以使用portrait和landscape)

  2. 在我们的样式表中,为body.portrait和body.landscape指定不同的内容样式,以及需要它的子元素

  3. 当方向变化时使用Javascript更新body单元的class属性的值

  因此第一步是增加一个默认的类名,如:

body.portrait p {
   color: red;
}

body.landscape p {
   color: blue;
}

  然后添加样式:

  body.portrait p {

  color: red;

  }

  body.landscape p {

  color: blue;

  }

  最后是Javascript,我们需要使用:

  1. 一个load事件监听器,设置最初的 类名

  2. 一个orientationchange事件监听器

  3. 一个发生orientationchange事件时交换类名的函数

  我们来看看事件监听器:

  window.addEventListener('load', setOrientation, false);

  window.addEventListener('orientationchange', setOrientation, false);

  下面是改变body单元上类名的setOrientation函数:

  function setOrientation() {

  var orient
= Math.abs(window.orientation) === 90 ? 'landscape' : 'portrait';

  var cl
= document.body.className;

  cl
= cl.replace(/portrait|landscape/, orient);

  document.body.className
= cl;

  }

 

  例8(链接:http://www.sitepoint.com/examples/iphone-development-12tips/orientation-styles.html)显示了这些特定方向的样式。使用iPhone浏览这个地址的效果如下图所示。

图 4 特定方向的样式

0
相关文章