From 139a4190d0e0289af804332c4165a6166000e57b Mon Sep 17 00:00:00 2001 From: Afshin Mehrabani Date: Sat, 23 Feb 2013 20:05:11 +0330 Subject: [PATCH] Add compare table --- compare.html | 595 ++++++++++++++++++++++++++++++++++++++ css/fonts.css | 44 +++ css/hint.css | 249 ++++++++++++++++ css/style.css | 281 ++++++++++++++++++ images/Phone.png | Bin 0 -> 3408 bytes images/content-border.png | Bin 0 -> 261 bytes images/desktop-yes.png | Bin 0 -> 3495 bytes images/desktop.png | Bin 0 -> 4641 bytes images/grid.png | Bin 0 -> 3636 bytes images/noise.png | Bin 0 -> 19452 bytes images/phone-yes.png | Bin 0 -> 3081 bytes images/tablet-yes.png | Bin 0 -> 3190 bytes images/tablet.png | Bin 0 -> 4228 bytes test.html | 360 ----------------------- 14 files changed, 1169 insertions(+), 360 deletions(-) create mode 100755 compare.html create mode 100755 css/fonts.css create mode 100755 css/hint.css create mode 100755 css/style.css create mode 100755 images/Phone.png create mode 100755 images/content-border.png create mode 100755 images/desktop-yes.png create mode 100755 images/desktop.png create mode 100755 images/grid.png create mode 100755 images/noise.png create mode 100755 images/phone-yes.png create mode 100755 images/tablet-yes.png create mode 100755 images/tablet.png delete mode 100644 test.html diff --git a/compare.html b/compare.html new file mode 100755 index 0000000..512e555 --- /dev/null +++ b/compare.html @@ -0,0 +1,595 @@ + + + + + +A collection of best front-end frameworks | usabli.ca + + + + +Fork me on GitHub
+ + + +
+
+

Front-end

+

CSS

+

Frameworks

+ +

+

+ + + + + + + + + +

+
+
+
+

+ A collection of best front-end frameworks for faster and easier web development. +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Twitter Bootstrap

+
+

Sleek, intuitive, and powerful front-end framework for faster and easier web development. +
+ View on Github +

+
+
+
+
+
+
+
+

Apache v2.0

+

Foundation

+
+

The most advanced responsive front-end framework in the world. +
+ Visit Site +

+
+
+
+
+
+
+
+

MIT

+

960gs

+
+

Simple grid system +
+
+ Visit Site +

+
+
+
+
+
+
+
+

GPL & MIT

+

Skeleton

+
+

A Beautiful Boilerplate for Responsive, Mobile-Friendly Development. +
+ Visit Site +

+
+
+
+
+
+
+
+

MIT

+

99lime HTML KickStart

+
+

Ultra–Lean HTML Building Blocks for Rapid Website Production. +
+ Visit Site +

+
+
+
+
+
+
+
+

Free

+

Kube

+
+

CSS-framework for professional developers. +
+
+ Visit Site +

+
+
+
+
+
+
+
+

Free

+

Less Framework

+
+

An adaptive CSS grid system. +
+
+ Visit Site +

+
+
+
+
+
+
+
+

MIT

+

Flaminwork

+
+

The tiny front-end framework for lazy developers. +
+
+ Visit Site +

+
+
+
+
+
+
+
+

Free

+

G5 Framework

+
+

(X)HTML5, CSS3, PHP & jQuery Front End Framework. +
+ Visit Site +

+
+
+
+
+
+
+
+

Free

+

Easy Framework

+
+

Your new starting point for every front-end projects! +
+ Visit Site +

+
+
+
+
+
+
+
+

Free

+

Blueprint

+
+

Blueprint is a CSS framework, which aims to cut down on your development time. +
+ Visit Site +

+
+
+
+
+
+
+
+

Free

+

YAML

+
+

YAML is an (X)HTML/CSS framework for creating modern and flexible floated layouts. +
+ Visit Site +

+
+
+
+
+
+
+
+

Creative Commons

+

BlueTrip

+
+

A full featured and beautiful CSS framework which originally combined the best of Blueprint,... +
+ Visit Site +

+
+
+
+
+
+
+
+

Free

+

YUI 2: Grids CSS

+
+

The foundational YUI Grids CSS offers four preset page widths, six preset templates, ... +
+ Visit Site +

+
+
+
+
+
+
+
+

BSD license

+

Elements

+
+

Elements is a down to earth CSS framework. +
+
+ Visit Site +

+
+
+
+
+
+
+
+

Free

+

52framework

+
+

With HTML5 support coming so fast, with the tiniest of hacks we are able to use it today . +
+ Visit Site +

+
+
+
+
+
+
+
+

Creative Commons

+

elastiCSS

+
+

A simple css framework to layout web-based interfaces, based on the printed layout . +
+ Visit Site +

+
+
+
+
+
+
+
+

MIT

+

Boilerplate

+
+

noun standardized pieces of text for use as clauses in contracts or as part of a computer program. +
+ Visit Site +

+
+
+
+
+
+
+
+

New BSD License

+

Emastic

+
+

Emastic is a CSS Framework, it’s continuing mission: to explore a strange new world ... +
+ Visit Site +

+
+
+
+
+
+
+
+

Free

+

Malo

+
+

Malo is ultra small css library for building web sites. +
+ Visit Site +

+
+
+
+
+
+
+
+

MIT

+

The Golden Grid

+
+

It 's a product of the search for the perfect modern grid system. +
+ Visit Site +

+
+
+
+
+
+
+
+

MIT

+

1kb grid

+
+

Other CSS frameworks try to do everything—grid system, style reset, basic typography, form styles. +
+ Visit Site::View on Github +

+
+
+
+
+
+
+
+

Free

+

Fluid 960 Grid System

+
+

The Fluid 960 Grid System templates have been built upon the work of Nathan Smith ... +
+ Visit Site +

+
+
+
+
+
+
+
+

GPL / MIT

+

Easy Framework

+
+

Baseline is a framework built around the idea of a “real” baseline grid. +
+ Visit Site +

+
+
+
+
+
+
+
+

Creative Commons

+

Lovely CSS Framework

+
+

A simple and straight forward way to easily deploy an XHTML/CSS site. +
+ Visit Site +

+
+
+
+
+
+
+
+

MIT

+

xCSS

+
+

xCSS bases on CSS and empowers a straightforward and object-oriented workflow when developing . +
+ Visit Site +

+
+
+
+
+
+
+
+

MIT

+

FEM CSS Framework

+
+

FEM CSS Framework is a 960px width + 12 column grid system + CSS common styles. +
+ Visit Site +

+
+
+
+
+
+
+
+

MIT/GPL

+

Helium

+
+

Helium is a framework for rapid prototyping and production-ready development +
+ View on Github +

+
+
+
+
+
+
+
+

Free

+
+ + + diff --git a/css/fonts.css b/css/fonts.css new file mode 100755 index 0000000..994251c --- /dev/null +++ b/css/fonts.css @@ -0,0 +1,44 @@ +@font-face { + font-family: 'DroidSansRegular'; + src: url('../fonts/DroidSans/DroidSans-webfont.eot'); + src: url('../fonts/DroidSans/DroidSans-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/DroidSans/DroidSans-webfont.woff') format('woff'), + url('../fonts/DroidSans/DroidSans-webfont.ttf') format('truetype'), + url('../fonts/DroidSans/DroidSans-webfont.svg#DroidSansRegular') format('svg'); + font-weight: normal; + font-style: normal; + +} +@font-face { + font-family: 'Sosa'; + src: url('../fonts/sosa/sosa.eot'); + src: url('../fonts/sosa/sosa.eot?#iefix') format('embedded-opentype'), + url('../fonts/sosa/sosa.woff') format('woff'), + url('../fonts/sosa/sosa.ttf') format('truetype'), + url('../fonts/sosa/sosa.svg#Sosa') format('svg'); + font-weight: normal; + font-style: normal; + +} + +@font-face { + font-family: 'DroidSansBold'; + src: url('../fonts/DroidSans/DroidSans-Bold-webfont.eot'); + src: url('../fonts/DroidSans/DroidSans-Bold-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/DroidSans/DroidSans-Bold-webfont.woff') format('woff'), + url('../fonts/DroidSans/DroidSans-Bold-webfont.ttf') format('truetype'), + url('../fonts/DroidSans/DroidSans-Bold-webfont.svg#DroidSansBold') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'algerianregular'; + src: url('../fonts/Algerian/alger-webfont.eot'); + src: url('../fonts/Algerian/alger-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/Algerian/alger-webfont.woff') format('woff'), + url('../fonts/Algerian/alger-webfont.ttf') format('truetype'), + url('../fonts/Algerian/alger-webfont.svg#algerianregular') format('svg'); + font-weight: normal; + font-style: normal; + +} \ No newline at end of file diff --git a/css/hint.css b/css/hint.css new file mode 100755 index 0000000..b47cb2e --- /dev/null +++ b/css/hint.css @@ -0,0 +1,249 @@ +/*! Hint.css - v0.1.0 - 2013-02-03 +* https://github.com/chinchang/hint.css +* Copyright (c) 2013 Kushagra Gour; Licensed MIT */ + +/*-------------------------------------*\ + HINT.css - A CSS tooltip library +\*-------------------------------------*/ +/** + * HINT.css is a tooltip library made in pure CSS. + * + * Source: https://github.com/chinchang/hint.css + * Demo: http://kushagragour.in/labs/hintcss + * + * Release under The MIT License + * + */ +/** + * source: hint-core.scss + * + * Defines the basic styling for the tooltip. + * Each tooltip is made of 2 parts: + * 1) body (:after) + * 2) arrow (:before) + * + * Classes added: + * 1) hint + */ +.hint { + position: relative; + display: inline-block; + /** + * tooltip arrow + */ + /** + * tooltip body + */ } + .hint:before, .hint:after { + position: absolute; + opacity: 0; + z-index: 1000000; + pointer-events: none; + -webkit-transition: 0.3s ease; + -moz-transition: 0.3s ease; } + .hint:hover:before, .hint:hover:after { + opacity: 1; } + .hint:before { + content: ''; + position: absolute; + background: transparent; + border: 6px solid transparent; + z-index: 1000001; } + .hint:after { + content: attr(data-hint); + background: #383838; + color: white; + text-shadow: 0 -1px 0px black; + padding: 8px 10px; + font-size: 12px; + line-height: 12px; + white-space: nowrap; + box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3); } + +/** + * source: hint-position.scss + * + * Defines the positoning logic for the tooltips. + * + * Classes added: + * 1) hint--top + * 2) hint--bottom + * 3) hint--left + * 4) hint--right + */ +/** + * set default color for tooltip arrows + */ +.hint--top:before { + border-top-color: #383838; } + +.hint--bottom:before { + border-bottom-color: #383838; } + +.hint--left:before { + border-left-color: #383838; } + +.hint--right:before { + border-right-color: #383838; } + +/** + * top tootip + */ +.hint--top:before { + margin-bottom: -12px; } +.hint--top:after { + margin-left: -18px; } +.hint--top:before, .hint--top:after { + bottom: 100%; + left: 50%; } +.hint--top:hover:before, .hint--top:hover:after { + -webkit-transform: translateY(-8px); + -moz-transform: translateY(-8px); + transform: translateY(-8px); } + +/** + * bottom tootip + */ +.hint--bottom:before { + margin-top: -12px; } +.hint--bottom:after { + margin-left: -18px; } +.hint--bottom:before, .hint--bottom:after { + top: 100%; + left: 50%; } +.hint--bottom:hover:before, .hint--bottom:hover:after { + -webkit-transform: translateY(8px); + -moz-transform: translateY(8px); + transform: translateY(8px); } + +/** + * right tootip + */ +.hint--right:before { + margin-left: -12px; + margin-bottom: -6px; } +.hint--right:after { + margin-bottom: -14px; } +.hint--right:before, .hint--right:after { + left: 100%; + bottom: 50%; } +.hint--right:hover:before, .hint--right:hover:after { + -webkit-transform: translateX(8px); + -moz-transform: translateX(8px); + transform: translateX(8px); } + +/** + * left tootip + */ +.hint--left:before { + margin-right: -12px; + margin-bottom: -6px; } +.hint--left:after { + margin-bottom: -14px; } +.hint--left:before, .hint--left:after { + right: 100%; + bottom: 50%; } +.hint--left:hover:before, .hint--left:hover:after { + -webkit-transform: translateX(-8px); + -moz-transform: translateX(-8px); + transform: translateX(-8px); } + +/** + * source: hint-color-types.scss + * + * Contains tooltips of various types based on color differences. + * + * Classes added: + * 1) hint--error + * 2) hint--warning + * 3) hint--info + * 4) hint--success + * + */ +/** + * Error + */ +.hint--error:after { + background-color: #b34e4d; + text-shadow: 0 -1px 0px #5a2626; } +.hint--error.hint--top:before { + border-top-color: #b34e4d; } +.hint--error.hint--bottom:before { + border-bottom-color: #b34e4d; } +.hint--error.hint--left:before { + border-left-color: #b34e4d; } +.hint--error.hint--right:before { + border-right-color: #b34e4d; } + +/** + * Warning + */ +.hint--warning:after { + background-color: #c09854; + text-shadow: 0 -1px 0px #6d5228; } +.hint--warning.hint--top:before { + border-top-color: #c09854; } +.hint--warning.hint--bottom:before { + border-bottom-color: #c09854; } +.hint--warning.hint--left:before { + border-left-color: #c09854; } +.hint--warning.hint--right:before { + border-right-color: #c09854; } + +/** + * Info + */ +.hint--info:after { + background-color: #3986ac; + text-shadow: 0 -1px 0px #193c4c; } +.hint--info.hint--top:before { + border-top-color: #3986ac; } +.hint--info.hint--bottom:before { + border-bottom-color: #3986ac; } +.hint--info.hint--left:before { + border-left-color: #3986ac; } +.hint--info.hint--right:before { + border-right-color: #3986ac; } + +/** + * Success + */ +.hint--success:after { + background-color: #458746; + text-shadow: 0 -1px 0px #1a331a; } +.hint--success.hint--top:before { + border-top-color: #458746; } +.hint--success.hint--bottom:before { + border-bottom-color: #458746; } +.hint--success.hint--left:before { + border-left-color: #458746; } +.hint--success.hint--right:before { + border-right-color: #458746; } + +/** + * source: hint-always.scss + * + * Defines a persisted tooltip which shows always. + * + * Classes added: + * 1) hint--always + * + */ +.hint--always:after, .hint--always:before { + opacity: 1; } +.hint--always.hint--top:after, .hint--always.hint--top:before { + -webkit-transform: translateY(-8px); + -moz-transform: translateY(-8px); + transform: translateY(-8px); } +.hint--always.hint--bottom:after, .hint--always.hint--bottom:before { + -webkit-transform: translateY(8px); + -moz-transform: translateY(8px); + transform: translateY(8px); } +.hint--always.hint--left:after, .hint--always.hint--left:before { + -webkit-transform: translateX(-8px); + -moz-transform: translateX(-8px); + transform: translateX(-8px); } +.hint--always.hint--right:after, .hint--always.hint--right:before { + -webkit-transform: translateX(8px); + -moz-transform: translateX(8px); + transform: translateX(8px); } \ No newline at end of file diff --git a/css/style.css b/css/style.css new file mode 100755 index 0000000..3bd4918 --- /dev/null +++ b/css/style.css @@ -0,0 +1,281 @@ +@charset "utf-8"; +@import url('http://fonts.googleapis.com/css?family=Droid+Sans'); +@import url('hint.css'); +/* CSS Document */ + +body { + width:980px; + margin:auto; + background-image:url(../images/noise.png); + font-family: 'Droid Sans'; +} +header { + text-align: center; + margin:50px auto; + position:relative; +} +header h1 { + font-family: 'Droid sans-serif'; + font-weight: normal; + color: #282828; + margin:auto; + font-size:118px; + line-height:95px; + background-image:url(../images/noise.png); + z-index: 1; + position: relative; + width: 240px; +} +header .line { + position:absolute; + width:980px; + height:1px; + border-top:5px double rgba(0,0,0,.5); + border-bottom:5px double rgba(0,0,0,.5); + top: 70px; + left: 0px; + z-index: 0; +} +header h2 { + letter-spacing: 7px; + font-family: 'Droid sans-serif'; + font-weight: normal; + margin: auto; + color:#282828; + font-size: 25px; + line-height:26px; + text-transform:uppercase; +} +header h3 { + letter-spacing: 7px; + font-family: 'Droid sans-serif'; + font-weight: normal; + margin: auto; + color:#282828; + font-size: 20.7px; + line-height:28px; + text-transform:uppercase; +} +.clr { + font-size:70px; + margin:20px auto auto; + text-align:center; + width: 980px; + line-height:1.5em; + color:#828282; + display:block; +} +header p { + font-weight: normal; + margin:auto; + color:#282828; + font-size: 18px; + line-height:1.5em; +} +section { + margin:50px auto; +} +section table { + width:980px; + margin:auto; + &background:rgba(255,255,255,0.5) url(../images/grid.png); + border:rgba(255,255,255,.2) 10px solid; + border-spacing: 1px; + border-image: url(../images/content-border.png) 10 repeat; + -moz-border-image: url(../images/content-border.png) 10 repeat; + -webkit-border-image: url(../images/content-border.png) 10 repeat; + box-shadow: 0 0 7px 0px rgba(162,162,162,.5); +} + +section table tr:nth-child(even) { + background:rgba(255,255,255,0.5) url(../images/grid.png); +} +section table tr:nth-child(odd) { + background:rgba(255,255,255,0.9) url(../images/grid.png); +} +section table tr td:first-child { + width:450px; +} +section table tr td:last-child { + width:148px; +} +section table tr td { + width: 100px; + max-height: 70px; +} +section table tr h1 { + font-weight: normal; + margin: auto; + color:#000; + font-size: 20px; + padding:0px 10px; + line-height:3.5em; + text-align:left; + float: left; +} +section table tr h2 { + font-weight: normal; + margin: auto; + color:#828282; + font-size: 16px; + padding:0px 15px; + line-height:1.5em; + text-align:center; +} +section table tr p { + font-weight: normal; + margin:10px auto; + color:#282828; + border-left:3px solid rgba(255,255,255,.3); + font-size: 16px; + padding:20px; + line-height:1.5em; +} +a { + text-decoration:none !important; + color:inherit; +} +section table h1 a:hover { + color:#900; +} +table tr td span { + text-transform: uppercase; + font-family: Impact; + float: left; + font-size: 20px; + border: 3px solid; + padding: 5px; + margin:15px 20px; + display: inline-block; +} +table tr td span.yes { + color: rgba(41,145,0,.8); + border-color: rgba(41,145,0,.8); + transform: rotate(10deg); + -webkit-transform: rotate(10deg); + -moz-transform: rotate(10deg); + -o-transform: rotate(10deg); + -ms-transform: rotate(10deg); +} +table tr td span.no { + color: rgba(145,0,0,.8); + border-color: rgba(145,0,0,.8); + transform: rotate(-7deg); + -webkit-transform: rotate(-7deg); + -moz-transform: rotate(-7deg); + -o-transform: rotate(-7deg); + -ms-transform: rotate(-7deg); +} +.responsive { + width: auto; + display: inline-block; + margin: 10px 30px; + position: relative; + float: right; +} +.responsive.yes .desktop , +.responsive .desktop.yes { + background: url(../images/desktop-yes.png) right bottom no-repeat; +} +.responsive.yes .tablet , +.responsive .tablet.yes { + background: url(../images/tablet-yes.png) right bottom no-repeat; +} +.responsive.yes .phone , +.responsive .phone.yes { + background: url(../images/phone-yes.png) right bottom no-repeat; +} + +.responsive .desktop { + margin: auto; + float: right; + width: 73px; + height: 52px; + background: url(../images/desktop.png) center center no-repeat; + display: inline-block; +} +.responsive .tablet { + margin: auto; + float: right; + width: 34px; + height: 52px; + background: url(../images/tablet.png) right bottom no-repeat; + display: inline-block; + margin-right: -17px; +} +.responsive .phone { + margin: auto; + float: right; + width: 15px; + height: 52px; + background: url(../images/phone.png) bottom right no-repeat; + display: inline-block; + margin-right: -9px; +} +.info { + width: auto; + margin: 0; + float: right; + height: 74px; + width: 345px; + background: rgba(162,162,162,.3); + position: relative; + opacity:0; + visibility: hidden; + left: -10px; + transition: all 0.25s ease; + -webkit-transition: all 0.25s ease; + -moz-transition: all 0.25s ease; + -ms-transition: all 0.25s ease; + -o-transition: all 0.25s ease; +} +td:hover .info { + visibility: visible; + opacity: 1; + left: 0; +} + +.info:after { + right: 100%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; +} + +.info:after { + border-color: rgba(136, 183, 213, 0); + border-right-color: rgba(162,162,162,.3); + border-width: 15px; + top: 50%; + margin-top: -15px; +} +.info p { + font-size: 14px; + color: #282828; + line-height: 1.3em; + margin: 0; + border: none; + padding: 10px 10px; + vertical-align: middle; +} +.info a { + color: #006099; + padding: 5px 0; +} +.info a:hover { + color: #900; +} +footer { + text-align: center; + color: #828282; + font-size: 14px; +} +footer a { + color: #006099; +} +footer a:hover { + color: #900; +} \ No newline at end of file diff --git a/images/Phone.png b/images/Phone.png new file mode 100755 index 0000000000000000000000000000000000000000..41fd4ac3e944901b75daae587d24551765332890 GIT binary patch literal 3408 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 XiuF^uKc3KF00000NkvXXu0mjf&f(7| literal 0 HcmV?d00001 diff --git a/images/grid.png b/images/grid.png new file mode 100755 index 0000000000000000000000000000000000000000..9c9f74483c763776b91518fc11c423832f0e37eb GIT binary patch literal 3636 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%0AyVqkS<2a$W=)EmN|28yl>Y!Lx$gAkM} zHw=LW<8m)ZLyT}^%)PnJ4;5$U@v)xoC+hu;Wb1^Lun(`jxx8sTCBiwUuKUkXFXz-`N6u~s*lttr|N_2=LrMXb8yi9xM6#i++WMEwtUH>Y~Mz_ZVU_(wW`heO8IftO=AZEcv3$XEebaIhKI290L^3_<(q={42hz`jo1 z+v2UI;}OAkaI8O%Ju3rqHLgs{61RRPQmLt1^HUHLqR&%Cc#FSPJy{#yAj8!D6kJ71 zB-sngeN?xDMtQNOR3R^q>@yHUkgb5?KpWN1H?Czmt=`tMPuSm3=xYXJmB(MNmPj9& zNt`6G5&={M;5_a^yce5Q9&0u>iLN9oU0ET)-g;5caiYQYz=>lpgD_m9=UO>}(eny@ z!czm*?V2n5JVcgJ{Xo5cK-_K%r~Oc4i>+K7r97@XTx*V2k@2Fy7=2xB9iVGlOvz-< zau|vjSo2R^lA3~<*pUfO{+6UZM=Bkrf9Fx6`~3}u?!|w)Xjh|j zJe(C1azFw?%?+*dtQ&sjwnd45`c$FrBL~OnjCb0KPr{;vS;wKL+G&O+wzLbx$J&DxUto;0;r(>)+yI} zUPz5gOdnLUI_-z<+vvR9_mkEE)_J*WcbCcPy8onGyN3M3Lf0-os6Mq!s{ZpnGhg>Z^Qnmh4@m;&zuNF@Z zhV5cg)$LN_3O|e`Wmv!|-dgKJ+a_7gyEFr<;yTd%F8_2w!UxLs^7Ly2ai;|wIHqlS zIl)d#wYbFiBy$CMRDVB>t{aY2U0ip^Cyw#E&9g?WB3dU_XNUXG6FQ>}mw@U}#;+5) z=+ea|YNP{^-1=0F8)kv2`y`A=g?bPWSLL}gHupBa?>*E+@yU60l0UV_ghP@3)8@pm zXp?F*q`(qbAO<(;47Dp*$-cJDD{WvaRx}V&7>BF;Xm;ypw9_bqf1cxYbwvx5%d}{L zxOq9ewtpr4gN)~fKb!;}_Tf5Ze@oBgH2W1w02A-{E?wop{NS4ZYy8_@_@lAy&Dc<) zcgS^@vo|0AKf$FY!pq(thG(B9ZLcK-Bu7TH|3YykWABBy?5Wr+t8MIa5_>K2vVkWZ zc-gE-8}=n2GP;2wR%~*wwd)mwUQzbg#+I$Q8k8-Nf1pRG<)DsjUXD_fQ$_xEF*WB! zj|Mg!Cn@2hVF53x=ugvmz3Nt>W*#3er9)Rg*nViK3_H(dS4Ta(1y#ggfF*=h5tuRt~lPoBXR?9#HMJ!hGoM5~QznXD-p|KxE}Q>wgtygcG?-)(DsD={5Zy`t`{^ T36JFk00000NkvXXu0mjfh_8PN literal 0 HcmV?d00001 diff --git a/images/phone-yes.png b/images/phone-yes.png new file mode 100755 index 0000000000000000000000000000000000000000..923af0a610eaee5117c52e462a5d0126fc8d4f4b GIT binary patch literal 3081 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 a{{{f - - - - - - - - - - - - - - - Front-end Frameworks by usablica - - - - View on GitHub -
- -
- - -

Front-end Frameworks

-

A collection of best front-end frameworks for faster and easier web development.

-
- - -
-
- -
- - download .ZIPdownload .TGZ - -
- - - - - -
-

Front-end Frameworks v2.5

- -

A collection of best front-end frameworks for faster and easier web development.

- -

Twitter Bootstrap

- -
-

Sleek, intuitive, and powerful front-end framework for faster and easier web development.

-
- -

Responsive: Yes

- -

Website: http://twitter.github.com/bootstrap/

- -

Foundation

- -
-

The most advanced responsive front-end framework in the world.

-
- -

Foundation 3 is built with Sass, a powerful CSS preprocessor, which allows us to much more quickly develop Foundation itself and gives you new tools to quickly customize and build on top of Foundation.

- -

Responsive: Yes

- -

Website: http://foundation.zurb.com/

- -

960 Grid System

- -
-

Simple grid system

-
- -

The 960 Grid System is an effort to streamline web development workflow by providing commonly used dimensions, based on a width of 960 pixels. There are two variants: 12 and 16 columns, which can be used separately or in tandem.

- -

Responsive: Yes

- -

Website: http://960.gs/

- -

Skeleton

- -
-

A Beautiful Boilerplate for Responsive, Mobile-Friendly Development.

-
- -

Skeleton is a small collection of CSS files that can help you rapidly develop sites that look beautiful at any size, be it a 17" laptop screen or an iPhone.

- -

Responsive: Yes

- -

Website: http://www.getskeleton.com/

- -

99lime HTML KickStart

- -
-

Ultra–Lean HTML Building Blocks for Rapid Website Production.

-
- -

HTML KickStart is an ultra–lean set of HTML5, CSS, and jQuery (javascript) files, layouts, and elements designed to give you a headstart and save you 10's of hours on your next web project.

- -

Responsive: No

- -

Website: http://www.99lime.com/

- -

Kube

- -
-

CSS-framework for professional developers.

-
- -

Minimal and enough. Adaptive and responsive. Revolution grid and beautiful typography. No imposed styles and freedom.

- -

Responsive: Yes

- -

Website: http://imperavi.com/kube/

- -

Less Framework

- -
-

An adaptive CSS grid system.

-
- -

Less Framework is a CSS grid system for designing adaptive web­sites. It contains 4 layouts and 3 sets of typography presets, all based on a single grid.

- -

Responsive: Yes

- -

Website: http://lessframework.com/

- -

Flaminwork

- -
-

The tiny front-end framework for lazy developers.

-
- -

Responsive: No

- -

Website: http://flaminwork.com/

- -

G5 Framework

- -
-

(X)HTML5, CSS3, PHP & jQuery Front End Framework.

-
- -

G5 Framework started as a personal project. In an attempt to speed up workflow, reuse the best coding practices & similar coding techniques, the framework serves as a starter file for new websites.

- -

Responsive: No

- -

Website: http://framework.gregbabula.info/

- -

Easy Framework

- -
-

Your new starting point for every front-end projects!

-
- -

Easy is a CSS/HTML/JavaScript framework started as a personal project and then grew into something more. The idea behind it is to reduce the amount of time spent on setting up the basic master HTML template by reusing the same coding techniques.

- -

Responsive: No

- -

Website: http://easyframework.com/

- -

Blueprint

- -

Blueprint is a CSS framework, which aims to cut down on your development time. It gives you a solid foundation to build your project on top of, with an easy-to-use grid, sensible typography, useful plugins, and even a stylesheet for printing.

- -

Responsive: No

- -

Website: http://www.blueprintcss.org/

- -

YAML

- -
-

“Yet Another Multicolumn Layout” (YAML)

-
- -

YAML is an (X)HTML/CSS framework for creating modern and flexible floated layouts. The structure is extremely versatile in its programming and absolutely accessible for end users.

- -

Responsive: Yes

- -

Website: http://www.yaml.de/

- -

BlueTrip

- -

A full featured and beautiful CSS framework which originally combined the best of Blueprint, Tripoli (hence the name), Hartija, 960.gs, and Elements, but has now found a life of its own.

- -

Responsive: No

- -

Website: http://bluetrip.org/

- -

YUI 2: Grids CSS

- -

The foundational YUI Grids CSS offers four preset page widths, six preset templates, and the ability to stack and nest subdivided regions of two, three, or four columns. The 4kb file provides over 1000 page layout combinations.

- -

Responsive: No

- -

Website: https://developer.yahoo.com/yui/grids/

- -

Elements

- -
-

Elements is a down to earth CSS framework.

-
- -

It was built to help designers write CSS faster and more efficient. Elements goes beyond being just a framework, it’s its own project workflow.It has everything you need to complete your project, which makes you and your clients happy.

- -

Responsive: No

- -

Website: http://elements.projectdesigns.org/

- -

52framework

- -

With HTML5 support coming so fast, with the tiniest of hacks we are able to use it today in virtually al browsers. Using HTML5 makes for much cleaner mark up. This framework fully uses all the great advantages of HTML5.

- -

Responsive: No

- -

Website: http://52framework.com/

- -

elastiCSS

- -

A simple css framework to layout web-based interfaces, based on the printed layout techniques of 4 columns but with capabilities to unlimited column combinations. and capacity to make elastic, fixed and liquid layout easily

- -

Responsive: No

- -

Website: http://elasticss.com/

- -

Boilerplate

- -
-

noun standardized pieces of text for use as clauses in contracts or as part of a computer program.

-
- -

As one of the original authors of Blueprint CSS I’ve decided to re-factor my ideas into a stripped down framework which provides the bare essentials to begin any project. This framework will be lite and strive not to suggest un-semantic naming conventions. You’re the designer and your craft is important.

- -

Responsive: No

- -

Website: http://code.google.com/p/css-boilerplate/

- -

Emastic

- -

Emastic is a CSS Framework, it’s continuing mission: to explore a strange new world, to seek out new life and new web spaces, to boldly go where no CSS Framework has gone before.

- -

Responsive: No

- -

Website: http://code.google.com/p/emastic/

- -

Malo

- -
-

Malo is ultra small css library for building web sites.

-
- -

Malo is ultra small css library for building web sites. It is meant to be structural base for small or medium web sites. Malo derives from it’s bigger brother Emastic CSS Framework.

- -

Responsive: No

- -

Website: http://code.google.com/p/malo/

- -

The Golden Grid

- -

The Golden Grid is a web grid system. It 's a product of the search for the perfect modern grid system. It 's meant to be a CSS tool for grid based web sites.

- -

Responsive: No

- -

Website: http://code.google.com/p/the-golden-grid/

- -

1kb grid

- -

Other CSS frameworks try to do everything—grid system, style reset, basic typography, form styles. But complex systems are, well, complex. Looking for a simple, lightweight approach that doesn't require a PhD? Meet The 1KB CSS Grid.

- -

Responsive: No

- -

Website: http://www.1kbgrid.com/

- -

Fluid 960 Grid System

- -

The Fluid 960 Grid System templates have been built upon the work of Nathan Smith and his 960 Grid System using effects from the MooTools and jQuery JavaScript libraries.

- -

Responsive: No

- -

Website: http://www.designinfluences.com/fluid960gs/

- -

Baseline

- -
-

Baseline is a framework built around the idea of a “real” baseline grid.

-
- -

Built with typographic standards in mind, Baseline makes it easy to develop a website with a pleasing grid and good typography. Baseline starts with several files to reset the browser’s default behavior, build a basic typographic layout — including style for HTML forms and new HTML 5 elements — and build a simple grid system.

- -

Responsive: No

- -

Website: http://www.baselinecss.com/

- -

Lovely CSS Framework

- -
-

The Lovely CSS Framework is a simple and straight forward way to easily deploy an XHTML/CSS site.

-
- -

Based on a simple 960px wide grid system, featuring multiple column layouts, and various pluggable add-ons.

- -

Responsive: No

- -

Website: http://code.google.com/p/lovely-css/

- -

xCSS

- -
-

Object-Oriented CSS Framework

-
- -

xCSS bases on CSS and empowers a straightforward and object-oriented workflow when developing complex style cascades. Using xCSS means a dramatic cut down to your development time by: having a intuitive overview of the overall CSS structure, using variables, re-using existing style cascades and many other handy features.

- -

Responsive: No

- -

Website: http://xcss.antpaw.org/

- -

FEM CSS Framework

- -

FEM CSS Framework is a 960px width + 12 column grid system + CSS common styles, to easy and fast develop web layouts. It is based in the 960 Grid System, but with a twist in the philosophy to make it more flexible and faster to play with boxes.

- -

Responsive: No

- -

Website: http://www.frontendmatters.com/projects/fem-css-framework/

-
- - - -
- - - - - -