自适应css布局——流动布局新时代[译](4)

作者:dishuipiaoxiang 来源:蓝色理想 时间:2009-08-13 12:28:00 

三、 流动布局中的图像

在流动布局中开发者最关心的是处理图像和内容,它们需要一定的宽度。大多数情况下,我们希望我们的图像尽可能的大,至少在太小时应防止任何令人尴尬的空白,在固定宽度的布局中,可手动调整,客服这些问题很容易。但是,在流动布局中,图像区域的宽度是不断变化的,这些问题就在此出现了。

自动杂志版面设计

这个解决方案需要一些聪明的数学知识和PHP,在Harvey Kane 的 Automatic Magazine Layout 文章中有全面的解释(包括数学)和可下载的源代码。标题由图像在杂志中如何呈现来决定:有条理且总是完美对齐。当然,一本杂志版面的设计师都必须经过一定的过程来实现这种效果,包括调整和手动放置。

对我们来说,这一技巧可以实现我们的效果,下面是脚本实现这一效果的第一个例子。

正如你所看到的那样,非常漂亮。但是,如何使用流动布局使其更具可用性?Harvey Kane 给了我们必须使用的脚本。


# include the class file
require_once('magazinelayout.class.php');

# Define the width for the output area (pixels)
$width = 600;

# Define padding around each image; this *must* be included
#in your style sheet (pixels)
$padding = 3;

# Define your template for outputting images
# (Don't forget to escape the &)
$template = '<img src="image.php?size=[size]&file=[image]" alt="" />';

# create a new instance of the class
$mag = new magazinelayout($width,$padding,$template);

# Add the images in any order
$mag->addImage( 'landscape1.jpg' );
$mag->addImage( 'portrait1.jpg' );
$mag->addImage( 'landscape2.jpg' );

# display the output

echo $mag->getHtml();



我们可以事先定义我们所希望的图像杂志的宽度。因此,如果我们找到浏览器的宽度,我们就可以决定我们布局图像的宽度,这很容易。因为我们已经学会了第二种技巧:自适应内容的流动布局。在他的脚本中,Kevin Hale使用了一个称之为getBrowserWidth() 的方法,你可以在他的文章中更深入的了解该方法的代码。

如果我们用这种方法取代浏览器的宽度值,然后用这个值去寻找我们内容区域的像素宽度(不论图像放在那个区域)。比方说,我们希望将图像放到70%的内容区域中,利用简单的数学知识,我们只需要找到浏览器宽度值的70%就行。

Pixel width = 内容区域百分比 x  浏览器宽度
$width = 0.70 x getBrowserWidth();

这是很基本的数学知识,是流动布局中处理图像最基本的方法,调整PHP脚本自动寻找图像的像素值。这样,在一个流动布局中,你就能很好的处理图像或其余已经设置宽度的内容。

标签:自适应,布局,css
0
投稿

猜你喜欢

  • asp网上考试设计思路是怎样的?

    2010-07-14 21:09:00
  • 基于python实现判断字符串是否数字算法

    2022-10-15 00:46:58
  • Python3中exp()函数用法分析

    2023-06-11 03:17:24
  • MySQL与PHP的基础与应用专题之创建数据库表

    2023-11-21 04:12:28
  • pandas数据分组和聚合操作方法

    2023-09-07 05:15:44
  • Golang中生成随机字符串并复制到粘贴板的方法

    2024-02-16 08:32:10
  • 使用pandas对矢量化数据进行替换处理的方法

    2022-03-26 06:53:04
  • python实现Simhash算法

    2022-06-29 06:21:05
  • go日志库中的logrus

    2023-07-21 13:48:02
  • 一篇文章掌握MySQL的索引查询优化技巧

    2024-01-17 22:19:29
  • Golang 高效排序数据详情

    2023-06-23 08:23:41
  • python输出决策树图形的例子

    2022-02-07 09:14:54
  • Asp中如何快速分页的技巧

    2008-05-17 12:02:00
  • sqlserver 2000中创建用户的图文方法

    2012-03-26 18:26:39
  • Linux环境下MySQL-python安装过程分享

    2024-01-15 12:50:41
  • 使用Python通过win32 COM打开Excel并添加Sheet的方法

    2021-12-07 11:53:34
  • 关于字体的一些思考

    2008-03-03 12:53:00
  • 在SQL触发器或存储过程中获取在程序登录的用户

    2024-01-29 09:30:40
  • Python使用multiprocessing实现一个最简单的分布式作业调度系统

    2022-06-14 07:43:33
  • python练习之曾经很火的小人画爱心表白代码

    2023-03-16 19:11:50
  • asp之家 网络编程 m.aspxhome.com