新 文

M.J

Bootstrap 栅格系统的精妙之处

节选翻译自The Subtle Magic Behind Why the Bootstrap 3 Grid Works

从接触 Bootstrap 已经有很长时间了,给人的感觉是快速,简单,易上手,其中栅格系统是一个亮点:

一直感觉像 CSS 栅格系统之类的东西拿过来用就好了,不用深究背后的原理。直到有一天你发现简单的套用在稍复杂的页面上出现问题,间隔啊,内外边距啊,哪都不对劲儿。

当然会有这样的过程,然后随着知识的积累,可以去读一些 Bootstrap 的源码,结合文档会发现一些不是很理解的地方:

Rows must be placed within a .container (fixed-width) or .container-fluid (full-width) for proper alignment and padding.

“行(row)”必须包含在 .container (固定宽度)或 .container-fluid (100% 宽度)中,以便为其赋予合适的排列(aligment)和内补(padding)。

CONTAINER

Container 有两个作用:

  1. 在随时可能的宽度变化(响应式)中提供宽度限制。当页面宽度变化,container 的宽度也随之变化。并且其中的 column 的宽度是基于百分比,所以他们的值不需要变化。
  2. 提供一个水平方向的 padding,使其内部的内容不会接触到浏览器的边界,大小为15px,就是图片中粉红色的部分,作用会在下面说。

注意,不需要也不应该在 container 中嵌套另一个 container。
image-1

ROW

Row 是 column 直接存在的容器,按照文档描述 row 中最多可有12个 column,不过可以通过 nesting 的方式灵活扩展。同时作为都是左浮动的 column 的 wrapper,自带 clearfix 的性质。

同时 row 还有一个很特殊的地方,就是左右各有 -15px 的 margin,就是图片中的蓝色部分。这样也就抵消了上面提到的 container 中15px的 padding,那么为什么要这么折腾呢?接着看往下读。

注意:千万记住要把 row 放到 container 的内部,这样才能保证正常。
image-2

COLUMN

注意啦,每个column 也会有15px的水平方向的 padding,也就是图片中黄色的部分,唉,先别急,会明白的。还记得上面提到的 row 的作用吗,colunmn 只能在 row 中生存,由于 row 的 margin 为-15px,那么位于两边的 column 就碰到了 container 的边界。但是 colunmn 本身又有 15px 的 padding 使得它其中的内容并不会碰到 container,同时 不同column的内容之间就有了30px的槽。结合图片看一下就一目了然了。

注意:一定要把 column 放到 row 里使用。
image-3

NESTING

当把上面一系列的 container, row, column 都设置好,就可以通过 nesting 扩展它的栅格系统了,也就是在 column 中直接嵌套 row,而不需要再套一层 container:
image-5

还记得 container 和 column 都有15px的 padding 吗,当 nesting 的时候 column 的作用也相当于 container 了,这样就可以实现任意的嵌套了。
image-6

这正是 Bootstrap 的栅格系统的最巧妙的地方!

2015年7月6日 0 / /
标签:  暂无标签

最值得收藏的Bootstrap资源网站

如果你正在寻找Bootstrap图标,那今天的推荐对你而言绝对非常重要!在这篇内容中,我们把这套框架上的免费字体图 标做了个整合(当然,以后还会不断的更新)。正如你所知,图标字体在一个web网页设计拥有很多优势:它们使用方便,不仅仅是图像,更是一个载体。大小随 意缩放,还可以适应各种尺寸的屏幕(包含移动设备,平板电脑等)。

这套集合图标使用起来非常的方便:你只需要点击下载包,将文件添加到你的目录中。在介绍中我们也会对每一个图标有一个简短的描述,让你了解如何使用它们。如果你有兴趣收藏,也可以自己创建一个文档,将它们全部添加进去。我们经常会推荐一些图标网站给大家,除此之外,还有Bootstrap模板和字体,比如Bootstrap templates, 像Jalia 和Gbtags,无论是模板还是素材,我们都将最好的呈现给你。所以,还等什么呢?开始吧。

1. Glyphicons Halflings

首先这包含了200多款字体图标是来自于Glyphicon Halflings。非常出色的一套bootstrap模板图标,要特别感谢Glyphicons里的每一个人。这里除了图标,还有一些大图供你使用和下载。帮助你快速搭建一个网站。

1421809946255
  如何使用:

找到Glyphicons里你需要的内容,然后再html里添加一个图标,内容如下:

<spanclass=”glyphicon glyphicon-search”aria-hidden=”true”>

2. Font Awesome

479款矢量字体图标全部免费,这是什么概念,就是即使你现在不用也要马上收藏的节奏,知道吗!或许你之前听说过这套图标集,因为它在很多网站都出现过。它们给我们提供的是一种方便,虽然曾经有过类似的介绍,但我今天还是要说,在很多图标字体中,我真的觉得它是最棒的-Font Awesome

1421809946530
  如何使用:

在开始页面,字体使用有一些非常好的方法。最简单的是倒入CDN的一行代码,而且无需下载任何东西,只要贴在HTML中第一节就可以了:

<linkhref=”//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css”rel=”stylesheet”>

在这里介绍另一种方法(i like你懂得),在CSS中引用默认字体Font Awesome,下载并复制‘font-awesome’目录到你的项目中,添加链接 “font-awesome.min.css”文件到HTML的第一节上。

<linkrel=”stylesheet”href=”path/to/font-awesome/css/font-awesome.min.css”>

当然了,还有很多其他的方法,再介绍一个简单的例子吧:

<iclass=”fa fa-camera-retro”>

这些方法都可以将你喜欢的字体变大变小,更换颜色阴影等,只要你喜欢,无所不能。

3. Elegant Icon Font

由360款优雅的矢量图标字体组成,完全免费使用-elegantthemes。这些图标已经全部进行了优化16*16像素(32px,64px等)的所有倍数。使之细节更加精准和清晰,在任何显示器上的都能呈现最完美的一面,当然包括Retina屏。

1421809946574
  如何使用:

不要认为它很难:

下载包并解压

在‘elegant_font’文件夹中你会发现“HTML CSS”子文件夹,把它复制到你的项目中(注意,这里可以重命名哦)

将连接添加到‘style.css’文件中HTML的第一节。

<linkrel=”stylesheet”href=”path/to/elegant-font/style.css”>

你可以在你HTML里添加图标,并且使用CSS来更改它们的样式:

<spanaria-hidden=”true”class=”icon_pencil”>

例如:

下面是我如何在Trilli Bi模板中使用图标:

1421809946673
  HTML:

<divclass=”features-box-icon”>

<spanaria-hidden=”true”class=”icon_cogs”>

CSS:

.features-box-icon {

width:80px;

height:80px;

margin:0auto;

padding-top:10px;

background:#e8643e;

-moz-border-radius:6px;

-webkit-border-radius:6px;

border-radius:6px;

font-size:50px;

color:#fff;

line-height:50px;

text-align: center;

}

.features-box-icon span {

vertical-align: middle;

}

4. Gbtags

Gbtags是一个前端教学非常全面的网站,除了超规模超人气的bootstrap模板和图标外,还教你如何制作网页。它拥有一个非常强大的前端课程库,我一直在思考,只靠一名技术大拿就将网站练就成这般高人气水平实属不易。网站中的模板和图标字体共有几百套并全部免费下载,除了是非常好的资源型网站外,更是学习和交流的平台,推荐指数6颗星。

1421809946476
  5. Typicons

Typicons带来了336款免费的矢量图标,多用途,像素完美和方便嵌入是它绝对的优势-typicons。

1421809946994
  如何使用:

首先在你bootstrap的项目中Typicons是很容易使用的。在Typicons的主页,你可以很清楚的了解所有使用图标的方式,当然,你也可以学习自己如何创建并自定义设置图标。首先介绍一个简单的方式:

点击GitHub page here下载页面上的字体文件和缩小的CSS

复制它们到你项目的文件夹

在HTML的第一节加入 “typicons.min.css”

<linkrel=”stylesheet”href=”path/to/typicons.min.css”>

现在在你HTML文件夹中添加图标,可以使用CSS更改它们的样式。

<spanclass=”typcn typcn-arrow-left”>

你可以在typicons上找到所有名字相对应的类目。

6. Meteocons

如果你现在正需要一些关于天气的图标,Meteocons应该是不错的一套。它包含了40多种图标,全部免费使用,可以用在商业和个人的项目中。包含不同格式文件:PSD、CSH、EPS、SVG和桌面、web字体,只要你喜欢,它们可以自定义,使用起来更加方便。

要想使用这些图标是非常简单的,更多方法可以参考Meteocons主页。

1421809946955
  7. Open Iconic

Open Iconie是一款免费的开源图标,包含SVG、网页字体和图标集223种。作为创造者,Open Iconie已然是超清了,在设计时,它们被下降了8个px,所以它们非常的小,但同时在网页浏览速度上,它们又是加载速度最快的。

1421809946756
  如何使用:

非常简单,如下三步:

从网页中下载软件包

将该文件复制到你的项目中

在HTML的第一节插入“open-iconic-bootstrap.css”

<linkrel=”stylesheet”href=”/open-iconic/font/css/open-iconic-bootstrap.css”>

添加素材到你的HTML文件,可以使用CSS来更改它们的样式:

<spanclass=”oi oi-icon-name”title=”icon name”aria-hidden=”true”>

你可以在这里找到所有图标相对应的类别名称。

8. Elusive Icons

Elusive Icons包含了299种免费的图标,开源可作为网页字体和SVG矢量图标。

1421809946421
  如何使用:

看起来不容易,但实际上非常简单,可以使用CSS方法或者LESS。

CSS方法如下:

下载并复制“fonts”目录到你的项目

复制 “elusive-webfont.css”文件到你的项目

打开“elusive-webfont.css” 文件上面的编辑字体网址,确定它们的指向是正确的。

在HTML第一节插入 “elusive-webfont.css”文件

<linkrel=”stylesheet”href=”path/to/elusive-webfont.css”>

添加图标到HTML代码中,并且使用CSS来更改它们的样式。

<iclass=”el-icon-user”>

最后

在这里你能找到最好的免费字体图标,希望它们能带给你更多的帮助,并有助于你的开发和设计。另外,我们还会定时更新更多内容,找到更多更好的图标集,希望你们继续关注我们。

Magento创建configurable产品的要点

Magento的产品类型可分为Simple Product、Group Product、Configurable Product、Virtual Product、Bundle Product、Downloadable Product。其中Simple的产品最简单,属于基础产品。Configurable Product和Bundle Product的产品是建立在这些Simple产品之上的。

Configurable Product 和 Bundle Product的产品都可以独立的跟踪库存 。Custom Option是无法跟踪独立产品的库存。Configurable Product是需要独立建立不同属性的产品的组合,而 Bundle Product是可以组合产品的。举个例子来说,一件衣服有2种颜色和3个大小,建立Configurable Product 需要创建6个独立的Simple产品,而Bundle 是只需要创建2+3=5个Simple产品。在属性比较多的时候,区别还是很大的。

关于Configurable Product 的创建,不得不说,Magento管理后台的用户体验很差。前段时间教我的同事创建Configurable Product,过了一阵子,忘了,为此写下这篇文章。

首先创建Configurable Product有3个要点:

1. 在属性集里必须有一个全局的属性,即属性的Scope为Global。

2. 属性的Catalog Input Type for Store Owner要选择Dropdown。

3. 属性的Use To Create Configurable Product要选择Yes。

下面以创建一个Configurable Product为例,该产品有一个cm_color的属性。有bule、red、yellow。价格分别为10、20、30。

创建Configurable Product的属性

从导航进入到CataLog->Attributes->Manage Attributes,在Properties这个tab中:

magento-create-configurable-product01

新建一个cm_color的属性,Scope选择Global,Catalog Input Type for Store Owner为Dropdown,Catalog Input Type for Store Owner为Yes,注意图中画红线的部分。

magento-create-configurable-product14

切换到Manage Label/Options,添加该属性在不同语言的store显示不同的Title,这里只需填写Admin的部分就可以了。

给该属性添加3个选项,Bule、Red、Yellow,然后Save Attribute。

magento-create-configurable-product21

将属性添加到属性集中

从导航进入到CataLog->Attributes->Manage Attributes Sets,选择Default属性集。

magento-create-configurable-product31magento-create-configurable-product41

将cm_color属性从右边的Unassigned Attribute拖到左边的Groups的General组,完成之后Save Attribute Set。

magento-create-configurable-product51

创建Configurable Product

从导航进入到CataLog->Manage products,点击Add Product。Attribute Set 选择Default,Product Type 选择Configurable Product,点击Continue。

magento-create-configurable-product61

选择具有全局属性的cm_color,点击Continue。

magento-create-configurable-product71

添加Configurable Product的基本属性,Name,Description,Short Description,SKU,Status,Visibility,Price等基本属性,点击Save and Continue Edit。

切换到Associated products选项卡,重点在红线的部分Quick Simple Product Creation。

magento-create-configurable-product81

创建一个Color为Bule的产品,Color选择Bule,price选择10,Fixed是直接定价,Percentage是百分比,该价格都是在原价价格加价。Visibility最好选择不显示Not Visible Individually。

magento-create-configurable-product91

点击Quick Create,可在下方的Super Product Attribute Configuration看到自动创建的Simple Product,并自动绑定到Color的Bule选项。

magento-create-configurable-product101

同样创建Color为Red,和Yellow的产品。

magento-create-configurable-product111

magento-create-configurable-product121

magento-create-configurable-product131

此时创建好了3个Simple Product了,并都已经绑定相应的属性上。选择Save and Continue Edit。

让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法

如有雷同,不胜荣幸,若转载,请注明

让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法
最近做一个Web网站,之前一直觉得bootstrap非常好,这次使用了bootstrap3,在chrome,firefox,safari,opera,360浏览器(极速模式)、搜狗浏览器等浏览器下均没有问题,而在IE8及IE11下发现样式无法显示,然后各种百度啊,最后在 雅朋网 的一个网友帖子的帮助下解决了问题,也参考了 千寻学习网 的资料,先将解决方法总结如下:

首先需要确保你的HTML页面开始部分要有DOCTYPE声明。DOCTYPE告诉浏览器使用什么样的HTML或XHTML规范来解析HTML文档,具体会影响:
对标记attributes 、properties的约束规则
对浏览器的渲染模式产生影响,不同的渲染模式会影响到浏览器对于CSS代码甚至JavaScript脚本的解析
DOCTYPE是非常关键的,目前的最佳实践就是在HTML文档的首行键入:
<!DOCTYPE html>

大神的帖子总结的bootstrap的查找原因好几条,首先,Bootstrap3 是移动设备优先的原则开发的,所以原因可能如下:
1.没有正确调用远程地址
即只要是IE9以下,就调用两个专门的js
<!– HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries –>
<!–[if lt IE 9]>
<script src=”http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js”></script>
<script src=”http://apps.bdimg.com/libs/respond.js/1.4.2/respond.min.js”></script>
<![endif]–>
但是我测试发现仅仅使用以上js文件不可行,
2.调用方法不正确
不要用file://或@import形式引用respond.min.js或respond.js或css文件

3.针对浏览器的内容做标识(使用meta标签调节浏览器的渲染方式)
bootstrap不支持IE兼容模式,为了让IE浏览器运行最新的渲染模式,将添加以下标签在页面中
<meta http-equiv=”X-UA-Compatible” content=”IE=edge,Chrome=1″ />
IE=edge表示强制使用IE最新内核,chrome=1表示如果安装了针对IE6/7/8等版本的浏览器插件Google Chrome Frame(可以让用户的浏览器外观依然是IE的菜单和界面,但用户在浏览网页时,实际上使用的是Chrome浏览器内核),那么就用Chrome内核来渲染。关于此meta标签的具体说明,可参见StackOverflow上的精彩回答,<meta>标签高人的英文解释可以参看
http://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edge-e
我有加了一句
<meta http-equiv=”X-UA-Compatible” content=”IE=9″ />
然后就可以了
内核控制Meta标签,因为目前国内的主流浏览器都是双内核,故而添加meta标签来告诉浏览器使用什么内核来渲染页面

4.IE8不支持container的几个属性
IE8不完全支持box-sizing:border-box与min-width, max-width, min-height或max-height的一起使用.所以,v3.0.1的bootstrap中对container的类,已经不再使用max-width了。

5.JS与CSS的引入顺序导致的问题
必须先引用css在引用js
<link rel=”stylesheet” type=”text/css” href=”bootstrap.min.css” media=”screen”/>
<script type=”text/javascript” src=”js/respond.min.js”></script>

6.DOCTYPE前后有空行
<!DOCTYPE html>
这里有空格也不行,要去掉空格
<html>

7.也可以手动修改bootstrap.css
如果您使用的是bootstrap2.1.1,修改了navbar-inner{ filter:none}可解决问题,如果使用的是3.0+版的,没有这段代码了,详细介绍请看连接
http://stackoverflow.com/questions/12460190/bootstrap-navbar-does-not-show-in-ie8

8.使用quirks mode(兼容模式)
定义网页时,向后兼容旧的浏览器的模式就是quirks mode,与之对应的是“标准模式”就是 standard mode。具体是将<!DOCTYPE html>写成以前的这种
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>
这个我测试过,不可行

最后我在IE11下测试通过,但是在IE8下测试,有发现一个问题placeholder不被支持
下面是解决IE支持placeholder的方法
本文引用的jquery是1.11.1测试通过,先引用jquery
<script type=”text/javascript” src=”http://code.jquery.com/jquery-1.11.1.min.js”></script>
也可以用其他的jquery版本
再引入<script type=”text/javascript” src=”js/jquery.placeholder.js”></script>
jquery.placeholder.js这个文件的下载地址https://github.com/mathiasbynens/jquery-placeholder
然后再文件中加入一下代码
<script type=”text/javascript”>
$(function () {
// Invoke the plugin
$(‘input, textarea’).placeholder();
});
</script>
如果我这里为涉及到的或者问题依然没有解决的请移步http://hustlzp.com/post/2014/01/ie8-compatibility更加详细

以上IE6,7,8,9,10,11,chrome,firefox,safari,opera,360浏览器(极速模式)、搜狗浏览器测试通过,只有IE5.5似乎不太可行,总之问题解决到此,万恶的IE6-都叫它打酱油去吧

如果您不想使用jquery.placeholder.js,再不支持placeholder的浏览器下模拟placeholder实现
可参考此文讲很详细http://ju.outofmemory.cn/entry/1595

码农如何快速打造一个有设计感的网站

英文原文: How to Make Your Site Look Half-Decent in Half an Hour

像我这样的程序员来说经常被“设计”这个词吓到,因为我是一名程序员而不是设计师,我拥有的是计算机学位证,另外我对 Comic Sans 字体并不介意。(注:Comic Sans 字体是 Win95 附带的一种漫画字体,设计行业极为排斥,设计师或那些拥有美学情结的人不屑与之为伍。更多查看这篇为什么不要使用 Comic sans 字体

虽然只是一名程序员,但我还是想让自己的网站看起来更加吸引人,一方面出于虚荣,因为这样可以显得我更加“专业”,而另一方面是出于现实,因为研究机构调查发现用户会更加信任那些网站“看起来”很好的网站。但是因为很长时间一直从事的是编程工作,对设计并不是熟悉,甚至害怕,因为在我这个外行看来设计是由很多只能感受不能言传身教的规则以及所谓的设计感悟组成的,知识壁垒比较高。

但是不久之前我决定要尽我最大努力让我网站看起来显得更加专业一点,即使比不上真正由设计师操刀做出来的效果,但对像我这种没有设计能力的人来说还是很有帮助的。

1. 使用 Bootstrap

如果你还没有使用 Bootstrap 的话那么赶紧开始吧,这个来自 Twitter 的开源项目使得网站设计真正进入大众化时代。

17114933-b52ea6b7eff243558620ee6808f7a3da

本质上 Bootstrap 是一种隔栅系统,由两名 twitter 员工 Mark Otto 和 Jacob Thornton 开发的开源前端框架[注:想了解更多请查看什么是 Twitter Bootstrap?],它集成了很多 CSS 样式的合集,可以帮助那些不懂或者不擅长 CSS 的开发人员快速的建立一个外观看起来很不错的网站。

使用 Bootstrap 的另一个好处就是网站本身就是自适应的(Responsive),可以省去各种为移动设备等的适配工作。此外,Bootstrap 还是可定制的,可以根据你的需求自己配置。(注:英文不好的可以查看中文版的 Bootstrap 文档或 Bootstrap 中文网)

17114933-f6731a334e0c4560a28e0cfe5cac9bc2

2. Bootstrap 定制指南

决定使用 Bootstrap 是迈出的重要一步,相比其他可以在前端开发上节省很多精力,但有利有弊,如果你决定使用 Bootstrap 的话就意味着很有可能会和其他人“撞框架”,就像默认的 WordPress 皮肤一样,如果大家都完全用 Bootstrap 的样式的话,会让不少见得多的人心生厌烦。

所以,如果实在抽不出时间的话可以去 Wrap Bootstrap 购买一份主题皮肤,这些主题皮肤都是由专业的设计师设计的,虽然不会成为唯一定制的,但已经看起来相当不错了,而且这种方法是最快速的。接下来就是以 Narrow marketing 这个模板(下图)为例教你如何自己定制一份完全属于你自己的 Bootstrap 。

17114933-c8329a416aae45ff8aa355417200a995

一. 字体

修改网页字体是让网站看起来更有特色、有现代感的捷径,我们可以去谷歌的字体服务(免费正版)中随意挑选自己喜欢的字体,但是要注意字体间的搭配,在这里我们选择由 DesignShack 推荐的谷歌字体搭配中的一种:Cardo(用于标题) 和 Nobile(用于主体内文)。

  1.   在网页头部中加入此代码:
  2.   在 CSS 样式表 custom.css 中加入以下代码:h1, h2, h3, h4, h5, h6 {font-family: ‘Corben’, Georgia, Times, serif;} p, div {font-family: ‘Nobile’, Helvetica, Arial, sans-serif;}

添加完后刷新即可查看效果了,现在我们的网站样式已经变成下面这样了,看起来比默认好多了。

17114933-e89ac89ddf144c189fde37f0e6d5c562

此外,除了谷歌的字体服务外还可以使用像 Fontdeck 或 Typekit 字体服务,它们的字体更多,更多的字体搭配方案可以参考 Type Connection

二. 纹理

知道如何让一个网站看起来更加高雅优雅一些吗?是的,纹理。就像 24WAY 的背景纹理一样。

17114933-87f3d5a477bd426e9b40992953eb9e78

但是这些纹理效果应该去哪里寻找呢?设计师 Atle Mo 的 Subtle Patterns 网站是个不错的去处,我们接下来就使用这个网站上的 Cream Dust 纹理。点击下载,将纹理图片保存到本地,然后放到根目录下的 /img/ 目录文件夹中,最后到 CSS 样式表中加入代码 body { background: url (/img/cream_dust.png) repeat 0 0;} 即可。(如果需要更多样式的纹理或纹理的其他用法的话可以看看 Smashing 的这篇文章)

17114933-207d4e24aed9488ea48c1f9697780c0d

添加纹理前后对比(大图)

三. 图标

这里的图标并不是指那些透明的 PNG 图片图标,而是图标字体,其加载方式和字体一样,由 CSS 样式控制,比起图片图标来说这种图标字体加载速度更加,对资源的消耗也更低。在去年 24WAY 曾经有一篇如何在网站中使用图标字体的文章。

对于 Bootstrap 框架来说,整合的图标字体是 Font Awesome (Shifticons 也是一个不错的选择),和谷歌的字体服务一样也是免费开源的。要使用它只需将其下载下来,然后在根目录下创建 /fonts/ 文件夹,将其放进去。然后再将 font-awesome.css 文件放到 /css/ 目录文件夹。

接着将引用写入网页头部中,代码为 ,这时候我们可以随时在网站上任意地方自由使用这些图标字体了,如要想将一个卡车图标添加到注册按钮的话只需声明一下就可以,Sign up today。同时为了防止加入图标字体后引起按钮拉伸变形,还需要一点点额外的工作,将按钮宽度加大一点(.jumbotron .btn i { margin-right: 8px; })。最后效果如下:

17114933-71d9e9b0733c4ade97d44e8774a65959

四. CSS3

将上面都搞定后接下来要做的就是再加点 CSS3 特效了,如果时间不够的话简单的添加上盒阴影box-shadow 和字体阴影 text-shadow 就可以让网站增色不少,CSS 代码如下。

h1 { text-shadow: 1px 1px 1px #ccc; } .div-that-you want-to-stand-out { box-shadow: 0 0 1em 1em #ccc; }

如果时间足够的话还可以添加一个放射渐变填充效果,可以让标题的显示效果更重一些,如下面对比图所示。(如果想要更多 CSS 效果的话可以去学习一下 CodeSchool 的在线教程)

17114934-b729f483569b4ec0951fe84e50f1443f

五. jQuery

其实到这里了话网站看起来已经很不错了,但为了让它更加个性化,还需要再添加上一张背景图片。对很多程序员来说这一步是比较难以进行的,那么应该如何选择一张设计师可能会使用的图片呢?答案就是去 iStockPhoto 或类似的付费图库中去寻找。

这里我们将使用 Winter Sun 这张照片,为了让网站保持自适应布局,还需要使用 Backstretch 这个 jQuery 插件让背景图可以随时自动调整大小。

  1. 首先需要付费下载背景图片,然后放到 /img/ 文件目录中去。
  2. 将此图片设置为的背景图(background-image): $.backstretch (“/img/winter.jpg”);
  3. 加入背景图后网页主题部分会产生遮挡,所以可以让其透明,这样网站效果看起来会更加现代、有设计感。这里可以使用这个技巧将网站变得透明,代码见右边,.container-narrow {background: url (/img/cream_dust_transparent.png) repeat 0 0;}

17114934-5f05a223eabc426e99f4dacf0dc77121
效果

六. 色调

到这几乎差不多已经完成调整了,但如果你够细心的话会发现按钮以及导航菜单的颜色还是 Bootstrap 默认的蓝色系。在有着设计师存在网站,设计师都会负责进行网站色调的调整,为了保证网站的一致性,所有按钮和导航一般是三到四种颜色(更多可以查看极客公园之间的文章小按钮大学问)。

在这里,虽然不可能像大公司网站那样取色严谨,但还是有一些快速的方法使网站看起来很搭配的。

  1. 使用 GIMP 的取色器读取背景图片的主题颜色,确认其 GBR 十六进制值;
  2. 使用 Color Scheme Designer 确认与差异大但同时又互补的颜色;
  3. 最后根据确定的颜色来制定按钮,可以用[Bootstrap Buttons][]等在线直接生成。

这样首页上那个大大的注册按钮就搞定了,接下来是修改导航菜单的颜色,这个比较简单,写入代码 .nav-pills > .active > a, .nav-pills > .active > a:hover {background-color: #FF9473;} 即可。看看咋样。

17114935-baf01bdd51234e879a601a3310bcbeec

结语

如果经历过了上面所说的流程的话,相信你已经可以在比较短的时间内制作出了一个还能拿得出手的网站了。

自适应网页设计(Responsive Web Design)

随着3G的普及,越来越多的人使用手机上网。

移动设备正超过桌面设备,成为访问互联网的最常见终端。于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页?

bg2012050101

手机的屏幕比较小,宽度通常在600像素以下;PC的屏幕宽度,一般都在1000像素以上(目前主流宽度是1366×768),有的还达到了2000像素。同样的内容,要在大小迥异的屏幕上,都呈现出满意的效果,并不是一件容易的事。

很多网站的解决方法,是为不同的设备提供不同的网页,比如专门提供一个mobile版本,或者iPhone / iPad版本。这样做固然保证了效果,但是比较麻烦,同时要维护好几个版本,而且如果一个网站有多个portal(入口),会大大增加架构设计的复杂度。

于是,很早就有人设想,能不能”一次设计,普遍适用”,让同一张网页自动适应不同大小的屏幕,根据屏幕宽度,自动调整布局(layout)?

bg2012050107

一、”自适应网页设计”的概念

2010年,Ethan Marcotte提出了“自适应网页设计”(Responsive Web Design)这个名词,指可以自动识别屏幕宽度、并做出相应调整的网页设计。

他制作了一个范例,里面是《福尔摩斯历险记》六个主人公的头像。如果屏幕宽度大于1300像素,则6张图片并排在一行。

bg2012050103

如果屏幕宽度在600像素到1300像素之间,则6张图片分成两行。

bg2012050104

如果屏幕宽度在400像素到600像素之间,则导航栏移到网页头部。

bg2012050105

如果屏幕宽度在400像素以下,则6张图片分成三行。

bg2012050106

mediaqueri.es上面有更多这样的例子。

这里还有一个测试小工具,可以在一张网页上,同时显示不同分辨率屏幕的测试效果,我推荐安装。

二、允许网页宽度自动调整

“自适应网页设计”到底是怎么做到的?其实并不难。

首先,在网页代码的头部,加入一行viewport元标签

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

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

所有主流浏览器都支持这个设置,包括IE9。对于那些老式浏览器(主要是IE6、7、8),需要使用css3-mediaqueries.js

  <!–[if lt IE 9]>
<script src=”http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js”></script>
<![endif]–>

三、不使用绝对宽度

由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。这一条非常重要。

具体说,CSS代码不能指定像素宽度:

  width:xxx px;

只能指定百分比宽度:

  width: xx%;

或者

  width:auto;

四、相对大小的字体

字体也不能使用绝对大小(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)的使用,也要非常小心。

六、选择加载CSS

“自适应网页设计”的核心,就是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);

});

不过,有条件的话,最好还是根据不同大小的屏幕,加载不同分辨率的图片。有很多方法可以做到这一条,服务器端和客户端都可以实现。

(完)

如何给Magento网站上产品图片添加水印

今天有位朋友问我如何给magento网站上产品的图片自动添加水印,具体做法是:登陆后台,找到

System -> Configuration -> General -> Design -> Product Image Watermarks

20141110151611

 

Base Image Watermark Default Size 给基本图片添加水印的大小,如 200×200
Base Image Watermark Opacity, Percent 水印的透明度 可填写 1 到 100 (1表示最浅,几乎看不出水印;100表示最深,完全不透明)
Base Image Watermark 选择水印的图片
Base Image Watermark Position 基本图片的水印的位置,有6个可选

  • Stretch (拉伸,自动拉伸和图片一样宽)
  • Top/Left (水印在左上角)
  • Top/Right (水印在右上角)
  • Bottom/Left (水印在左下角)
  • Bottom/Right (水印在右下角)
  • Center  (水印在图片正中)
Small Image Watermark Default Size 设置小图片水印的大小  如 100×100
Small Image Watermark Opacity, Percent 设置小图片水印的透明度 (同上)
Small Image Watermark 选择小图片的水印图片
Small Image Watermark Position 小图片的水印位置 (同上)
Thumbnail Watermark Default Size 设置缩略图的水印尺寸
Thumbnail Watermark Opacity, Percent 缩略图的水印透明度
Thumbnail Watermark 选择缩略图的水印图片
Thumbnail Watermark Position 缩略图的水印位置

设置好后,刷新magento网站缓存,可以在前台查看效果。

如效果不理想,可以delete image清除水印重新设置。

插件实测—— ProductPageShipping Master 在产品页面计算运费插件

今天一位朋友加我QQ问怎么在Magento网站每一个产品页面都能计算运费,粗略看了一下,这类插件有几款,但是功能全部都是一样的。其中有一款免费的叫EcomDev_ProductPageShipping-master,这款插件作者已经两年没更新了,但是应该还能兼容比较新的magento版本 ,至少兼容到1.702是没有问题的。

首先,下载此款插件:

解压后将 app和 skin两个文件夹中的所有文件分别上传到magento网站根目录对应的文件夹中。

登陆 Magento网站后台,刷新后在 system – configuration – catalog 下找到 product page shipping 并点击

productpageshipping

在 product page shipping setting页面进行设置

productpageshipping2

Enable Product Page Shipping:选yes开启插件

Display In :选运费计算器在左边栏还是右边栏还是自定义位置(这个要根据模板的布局来决定 个人感觉大部分模板应该选择右边栏)

其余选项自由发挥,个人感觉国家和邮编两项开启即可 ;当然运费计算是否包含已经加入购物车中德产品 这个选项也要选yes; 保存。

重新刷新一下缓存,看看前台效果:

productpageshipping3

PS:安装这个插件的时候 有可能出现php解析错误如下

Parse error: syntax error, unexpected T_NAMESPACE, expecting T_STRING in app/code/community/EcomDev/ProductPageShipping/Model/Session.php on line 26

这是因为现在大部分服务器php版本都已经升级至5.3甚至更高,与session.php文件中的内容发生了冲突。解决方案很简单,将session.php文件中第26行和30行中的 NAMESPACE 更换为其他名称 例如 PRODUCTPAGESHIPPING_NAMESPACE 即可。

又PS:这款插件仅仅是一个运费计算前台化插件, 而不是一款运费插件。运费计算插件依旧推荐 webshopapps家的运费插件,好用强大。

再PS:长时间没有更新的插件总是有点担心和最新的magento程序不兼容,如果土豪不差钱,可以买一款功能完全一样的插件,兼容最新magento 1.9版 价格也不贵才15刀  地址是:

http://www.magentocommerce.com/magento-connect/shipping-quote-on-product-page.html

Magento网站在产品页面添加问答和咨询系统 Product Inquiry

今天一位朋友希望在Magento网站的产品页面添加 Ask A Question功能,可以让客户在产品页面提问咨询并回答客户提问;类似于京东上商品咨询的功能。

推荐一款Magento官方市场上的免费插件:Product Inquiry by imediadesigns

http://www.magentocommerce.com/magento-connect/product-inquiry-1.html

安装插件后,客户可以直接在产品页面提问咨询,站长可以在后台回复客户并决定这一问答是否出现在产品页面作为该产品的FAQ,同时,客户还会收到对问题回复的邮件。非常强大的一款问答插件。

案例可看:

www.b2cbuying.com

faq_area_1

Magento网站如何让客户提交更多注册信息—电话、地址、公司名称等

Magento网站客户注册的时候需要提交的信息极其简单,只需姓、名、电子邮箱、密码四项。这就造成两个问题:大量毫无价值的垃圾注册;对一些注册了但是没有下单的客户无法进行有效的二次推销。于是我们希望给 Magento网站的注册页面添加一些客户需要填写的信息,比如电话、地址、公司名等,以便更好地了解和分析客户。

Magento官方网站上的 Address Registration插件较好地解决了这一问题。具体方法是,登录 Magento网站后台,System -> Magento Connect -> Magento Connect Manager, 在 Install New Extensions处输入插件的Extension Key:http://connect20.magentocommerce.com/community/DS_RegAddress/  , 点击 Install(安装)。安装成功后,返回Magento后台,在System -> Configuration  左边栏目里找到 Registration Address并点击。

在Registration Address下有三个选项:

No :不开启插件

Optional Address(Default):开启地址、电话选项但是由客户决定填不填写

Forced Address:客户必须填写电话和地址,并选填公司名称

ds_regaddress_02_config_1

选择 Forced Address保存,刷新缓存,在前台注册页面可以看到注册信息多出 Address Information需要客户填写。

ds_regaddress_01_register_1

13/16
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
回到顶部