PHP方式实现WEB网页文字大小切换

Posted in January 21, 2010 at 10:40

在设计网站时,一定要记住的是光临你网站的游客不一定都是年轻人,精神状态极好,或者都是熟悉WEB浏览器操作的人,其中极有可能有视力不好、电脑盲或者其他类型的伤残用户。聪明的设计师知道这一点,在建立一个网站时,始终会使用一些Web辅助功能,来使自己的网站浏览起来更舒适而不致过分紧张或感到压力。

比如说网页文字切换功能,最有用的功能,用户可以对网站文字大小切换,使其浏览更适合自己、更容易阅读。虽然这个功能已内置于某些浏览器内,但我们无法强制用户只能使用哪个浏览器来阅读自己的网站,为此,网站设计师往往为这个目的,在每个网页增加这个控制按钮。

网上搜索了一下,找到两种方法,经过测试,都可以使用.

一. Apache/PHP实现方法

原理: 在网站的网页上增加一组控制按钮,让用户选择一个网页上的文字:小,中和大。这些大小都对应于一个CSS样式。当用户作出选择,PHP会将拥护的选定存储在会话变量,然后重新加载页面。重新载入页面读取会话变量和动态加载相应的样式表重新渲染网页。

Note:This tutorial assumes a working Apache/PHP installation.

  1. 按下面的例子,建立一个HTML页
    <html>
    <head>
    </head>
    <body>
    <!-- font size buttons -->
    Text size: <a href="resize.php?s=small">small</a> | <a href="resize.php?s=medium">medium</a> | <a href="resize.php?s=large">large</a>
    <p />
    <!-- 下面是网页内容-->
    北疆西部、西藏东部等地有小雪或阵雪;四川盆地东部、贵州、江南大部、华南等地有小到中雨或阵雨。内蒙古中东部、东北、华北北部、山东半岛等地有4~6级风。渤海、黄海大部海域、东海北部海域将有5~7级的西北或偏北风。
    <!-- 上面是网页内容-->
    </body>
    </html>
  2. 建立三个对应的css样式表:

    small.css, medium.css, large.css.
    small.css示例:

    body {
        font: 10px
    }

    Note:可以使用17px和25px对应于medium.css, large.css.

  3. 建立一个文字大小切换主文件resize.php.
    resize.php:
    <?php
    // start session
    // import selected size into session
    session_start();
    $_SESSION['textsize'] = $_GET['s'];
    header("Location: " . $_SERVER['HTTP_REFERER']);
    ?>
  4. 在你的index.php页增加下列代码:
    <?php
    // start session
    // import variables
    session_start();
    // set default text size for this page
    if (!isset($_SESSION['textsize'])) {
        $_SESSION['textsize'] = 'medium';
    }
    ?>
  5. 在<head>...</head>之间增加下列代码:
    <link rel="stylesheet" href="<?php echo $_SESSION['textsize']; ?>.css" type="text/css">
  6. 完成后的index.php如下所示:
    <?php
    // start session
    // import variables
    session_start();
    // set default text size for this page
    if (!isset($_SESSION['textsize'])) {
        $_SESSION['textsize'] = 'medium';
    }
    ?>
    <html>
    <head>
    <link rel="stylesheet" href="<?php echo $_SESSION['textsize']; ?>.css" type="text/css">
    </head>
    <body>
    <!-- font size buttons -->
    Text size: <a href="resize.php?s=small">small</a> | <a href="resize.php?s=medium">medium</a> | <a href="resize.php?s=large">large</a>
    <p />
    <!-- 下面是网页内容-->
    北疆西部、西藏东部等地有小雪或阵雪;四川盆地东部、贵州、江南大部、华南等地有小到中雨或阵雨。内蒙古中东部、东北、华北北部、山东半岛等地有4~6级风。渤海、黄海大部海域、东海北部海域将有5~7级的西北或偏北风。
    <!-- 上面是网页内容-->
    </body>
    </html>

Add a comment

Nickname

Site URI

Email

Enable HTML Enable UBB Enable Emots Hidden Remember [Login] [Register]