分享

!!!!!!Responsive CSS Framework Comparison: Bootstra...

 看见就非常 2013-02-19

Bootstrap vs. Foundation vs. Skeleton

@vermiliondesignRead the blog post

Overview

  Bootstrap Foundation v2 Foundation v3 Skeleton
Summary
  • Large user base
  • Grids: Fluid and fixed
  • UI tools: Lots of widgets; good for rapid prototyping
  • History: Built by Twitter as a style guide for internal tools
  • Medium user base
  • Grids: Fluid. Most robust grid tools.
  • UI tools: Good for rapid prototyping, but not as expansive as Bootstrap
  • History: Built by ZURB as boilerplate for client projects
  • Medium user base
  • Grids: Fluid. Most robust grid tools.
  • UI tools: Good for rapid prototyping, but not as expansive as Bootstrap
  • History: Built by ZURB as boilerplate for client projects
  • Medium user base
  • Grids: Fixed
  • UI tools: Limited
  • History: Style agnostic and intentionally lightweight
Version 2.2.2 2.2.1 3.2 1.2
Website twitter.github.com/bootstrap foundation. foundation. getskeleton.com
GitHub github.com/twitter/bootstrap github.com/zurb/foundation github.com/zurb/foundation github.com/dhgamache/Skeleton
Creator Twitter ZURB ZURB Dave Gamache
License Code: Apache License v2.0
Documentation: CC BY 3.0
Icons: CC BY 3.0 from Glyphicons Free
MIT License MIT License MIT License
Browser Support Desktop: Chrome, Firefox, Safari, Opera, IE7+
Mobile: "tablets and smartphones"
Desktop: Chrome, Firefox, Safari, IE7+
Mobile: Mobile Webkit (iOS 5), Android 2 browser
Desktop: Chrome, Firefox, Safari, IE8+
Mobile: iOS (iPhone), iOS (iPad), Android 2 (phone), Android 2 (Tablet), Windows Phone 7
Desktop: Chrome, Firefox, Safari, IE7+
Mobile: iPhone, Droid, iPad
Vermilion Commentary Full solution for making a responsive website. Out of the box, styling is minimal but elegant for making prototypes. The default bootstrap UI can be modified by using LESS. The process of setting up LESS with Bootstrap is vague in documentation and took sometime to figure out. In the long run, using variables in LESS works great for updating properties efficiently, especially for larger websites. The component and plugin library is large enough and community support continues to grow. Overall, bootstrap is a great framework to streamline the process of development. Scripts and CSS are very particular about using specific elements AND classnames / Very div-heavy - does not allow for many semantic elements like article unless they surround the divs / lots of nesting.

Last column gets float:right so that the right edge lines up in all browsers.
Foundation 3 is not quite a drop-in upgrade for v2.

Important changes include removing .container elements, adding modular scale typography, and dropping IE7 support (v3 uses box-sizing: border-box).

Visibility classes moved from device-based to feature-based names (.show-on-phones is gone, but .show-on-touch was added).

A more detailed migration guide is also available.
Its bag of tricks is very light. That seems to be its purpose, thus the name is fitting.

Responsive considerations seem like a bit of an afterthought. Examples: tabs do not stack for mobile versions; 1-column images (tiny, since it's a 16-column grid) go to full-width (huge) in the two narrow layouts.

Documentation on nested columns is wrong: use .row to contain multiple .columns (documentation says to use .columns for everything). And yet, .row does not automatically apply a clearfix for its nested junk, which seems like a natural step.

Syntactically similar to 960.gs.

CSS

  Bootstrap Foundation v2 Foundation v3 Skeleton
Reset normalize.css Eric Meyer's reset normalize.css Inspired by Eric Meyer's reset
LESS Y N N N
SASS/SCSS N Y Y N

Grids and Responsiveness

  Bootstrap Foundation v2 Foundation v3 Skeleton
Base width Fluid and fixed (724px, 940px, 1170px; below 767px are single column and vertically stacked) Fluid (max-width 1200px) Fluid (max-width 100%) 960px
Columns 12 12 12-24 with customizer 16
Single column class syntax .span1 .one.columns .one.column .one.column
Two column class syntax .span2 .two.columns .two.columns .two.columns
Container syntax <div class="container> or <div class="container-fluid"> <div class="container"> Not available <div class="container">
Row syntax <div class="row"> <div class="span4">...</div> <div class="span8">...</div> </div> <div class="row"> <div class="four columns">...</div> <div class="eight columns">...</div> </div> <div class="row"> <div class="four columns">...</div> <div class="eight columns">...</div> </div> <div class="row"> <div class="four columns">...</div> <div class="eight columns">...</div> </div>
Nested column syntax <div class="row"> <div class="span6"> <div class="row"> <!-- nested columns add up to parent total --> <div class="span3">...</div> <div class="span3">...</div> </div> </div> </div> <div class="row"> <div class="six columns"> <div class="row"> <!-- nested columns add up to 12 --> <div class="six columns">...</div> <div class="six columns">...</div> </div> </div> </div> <div class="row"> <div class="six columns"> <div class="row"> <!-- nested columns add up to 12 --> <div class="six columns">...</div> <div class="six columns">...</div> </div> </div> </div> <div class="row"> <div class="six columns clearfix"> <!-- nested columns add up to parent total --> <div class="three columns alpha">...</div> <div class="three columns omega">...</div> </div> </div>
Offset column syntax <div class="row"> <div class="span4">...</div> <div class="span4 offset4">...</div> </div> <div class="row"> <div class="four columns">...</div> <div class="four columns offset-by-four">...</div> </div> <div class="row"> <div class="four columns">...</div> <div class="four columns offset-by-four">...</div> </div> <div class="row"> <div class="four columns">...</div> <div class="four columns offset-by-four">...</div> </div>
Centered syntax Not available <div class="row"> <div class="three columns centered">...</div> </div> <div class="row"> <div class="three columns centered">...</div> </div> Not available
Ordering syntax Not available <div class="row display"> <div class="two columns push-ten">first in mobile/last in desktop</div> <div class="ten columns pull-two">first in desktop/last in mobile</div> </div> <div class="row"> <div class="two columns push-ten">first in mobile/last in desktop</div> <div class="ten columns pull-two">first in desktop/last in mobile</div> </div> Not available
Four column mobile syntax Not available <div class="row display"> <div class="three phone-one columns">...</div> <div class="nine phone-three columns">...</div> </div> <div class="row display"> <div class="three mobile-one columns">...</div> <div class="nine mobile-three columns">...</div> </div> Not available
Block grids syntax Not available <ul class="block-grid two-up"> <li>Two-up element</li> <li>Two-up element</li> <li>Two-up element</li> <li>Two-up element</li> <li>Two-up element</li> </ul> <ul class="block-grid two-up"> <li>Two-up element</li> <li>Two-up element</li> <li>Two-up element</li> <li>Two-up element</li> <li>Two-up element</li> </ul> Not available
Visibility class syntax Device based: .visible-desktop .visible-tablet .visible-phone .hidden-desktop .hidden-tablet .hidden-phone Device based: .show-on-desktops .show-on-tablets .show-on-phones .hide-on-desktops .hide-on-tablets .hide-on-phones Screen size based: .show-for-xlarge .show-for-large .show-for-large-up .show-for-medium .show-for-medium-down .show-for-small .hide-for-xlarge .hide-for-large .hide-for-large-up .hide-for-medium .hide-for-medium-down .hide-for-small Landscape based: .show-for-landscape .show-for-portrait Touch based: .show-for-touch .hide-for-touch Print based: .print-only .hide-on-print Not available
Media queries syntax /* Landscape phones and down */ @media (max-width: 480px) { ... } /* Landscape phone to portrait tablet */ @media (max-width: 767px) { ... } /* Portrait tablet to landscape and desktop */ @media (min-width: 768px) and (max-width: 979px) { ... } /* Large desktop */ @media (min-width: 1200px) { ... } /* Mobile wide */ @media handheld, only screen and (max-width: 1023px) { ... } /* Mobile narrow */ @media handheld, only screen and (max-width: 767px) { ... } /* Desktop wide */ @media only screen and (max-width: 1280px) and (min-width: 768px) { ... } /* Desktop narrow */ @media only screen and (max-width: 767px) { ... } /* Very large display targeting */ @media only screen and (min-width: 1441px) { ... } /* Medium display targeting */ @media only screen and (max-width: 1279px) and (min-width: 768px) { ... } /* Small display targeting */ @media only screen and (max-width: 767px) { ... } /* Small display targeting */ @media only screen and (max-width: 767px) { ... } /* Landscape orientation targeting */ @media screen and (orientation: landscape) { ... } /* Portrait orientation targeting */ @media screen and (orientation: portrait) { ... } /* Mobile styles */ @media only screen and (max-device-width: 1280px) { ... } @media only screen and (max-width: 1279px) and (min-width: 768px) { ... } /* Smaller than standard 960 (devices and browsers) */ @media only screen and (max-width: 959px) {} /* Tablet Portrait size to standard 960 (devices and browsers) */ @media only screen and (min-width: 768px) and (max-width: 959px) {} /* All Mobile Sizes (devices and browser) */ @media only screen and (max-width: 767px) { ... } /* Mobile Landscape Size to Tablet Portrait (devices and browsers) */ @media only screen and (min-width: 480px) and (max-width: 767px) { ... } /* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */ @media only screen and (max-width: 479px) { ... }

UI and Widgets

  Bootstrap Foundation v2 Foundation v3 Skeleton
Alerts Y Y Y N
Badges Y N Y N
Breadcrumbs Y Y Y N
Buttons Y Y Y Y
Carousel Y Y Y N
Collapse Y N Y N
Dropdown Y Y Y N
Forms Y Y Y Y
Grids Y Y Y Y
Icons Y N Y — with download N
Labels Y Y Y N
Lists Y Y Y N
Lists (horizontal) N N Y N
Modal window Y Y Y N
Navigation Y Y Y N
Pagination Y Y Y N
Panels N N Y N
Popovers Y N N N
Print styles Y N Y N
Progess bars Y N Y N
Scrollspy Y N Y N
Tables Y Y Y N
Tabs Y Y Y Removed in v1.2
Thumbnails Y N Y N
Tooltips Y Y Y N
Typeahead Y N Y N
Typography Y Y Y Y
Video scaling N N Y N

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约