SEO

August 17, 2011

Canvas prototype

Check out this website I found at labs.apt.no

Check out this website I found at labs.apt.no ...»See Ya

Incredible 'FLEXI' Gradient YouTube Embed BUTTON! (Except the part Posterous will fuck up)

Getting FLEXI with Gradient Scanner Video Embed BUTTONS!

Getting FLEXI with Gradient Scanner Video Embed BUTTONS! (Except the part Posterous will fuck up)

To see the real example, always check What Gets Me Hot!

Desperate_dogmeat_typodermic_on_signum_art
Dog_jan2011_twitter_dog_ad
Dogmeat_and_eric_meyer_invented_css_dont_forget_howcome_have_you_seen_it
Dogmeat_and_tbl_invented_the_internet_have_you_seen_it

Getting FLEXI with Gradient Scanner Video Embed BUTTONS! Getting FLEXI with Gradient Scanner Video Embed BUTTONS! (Except the part Posterous will fuck up) To see the real example, always check What Gets Me Hot! ...»See Ya

August 16, 2011

@Font-Face Icon et Le Template French Fou!

Layout Zoom: Increase | Decrease

Dogmeat's gone @font-face icon French Template Crazy! @Font-Face Icon et Le  Template French Fou!

Lorem ipsum dolor sit amet

 

Quick Tip: Ever Thought About Using @Font-face for Icons?

\Rating:

Quick Tip: Ever Thought About Using @Font-face for Icons?

Wayne Helman on Apr 23rd 2010 with 116 comments
Tutorial Details
  • Technology: CSS
  • Estimated Completion Time: 15 Minutes
  • Difficulty: Beginner
This entry is part 11 of 16 in the CSS3 Mastery Session - Show All
« PreviousNext »

The evolution of Internet technologies never ceases to amaze. Seemingly daily, new concepts and techniques are being thought up by creative and talented people. With modern browsers being adopted at a greater rate, systems like CSS3 are becoming more and more viable for use on projects of all sizes. Clearly, this can be seen by looking at new services sprouting on-line like TypeKit. Conceptually, if we deconstruct a font down to it’s basic elements, we can make use of this technology for things other than type, icons.

 


The Need for Speed

For a short period of time, developers began producing websites with little regard for bandwidth consumption. HTML and CSS where restrictive and Adobe Flash was an open canvas for designers and developers to stuff animations and complex layouts into. This resulted in some extremely bandwidth heavy sites—we all remember a few. Those were the days before the proliferation of mobile smart phones.

With smart phones accessing the Internet more frequently, bandwidth and page load speeds have suddenly returned to the forefront. Thankfully, advances in HTML, CSS, and JavaScript have made that all possible. Central to webpage speed and responsiveness is the number of HTTP requests a page load must make. Modern browsers limit the number of requests to a single server. The W3C HTTP 1.1 specification reads

“A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy. A proxy SHOULD use up to 2*N connections to another server or proxy, where N is the number of simultaneously active users. These guidelines are intended to improve HTTP response times and avoid congestion.”

One technique that has become increasingly popular is the use of CSS sprites. CSS sprites are designed to reduce the number of HTTP requests to the web server by combining many smaller images into a single larger image and defining a block level CSS element to only show a defined portion of the larger image. The technique is simple, but ingenious.


Deconstructing the Font

Fonts at their most basic molecular level are a series of vector glyphs packaged up into a single “glyph archive”.

CSS3 has introduced to the web development world the ability to embed fonts with the @face-face declaration. Without question, this advancement in Internet technologies is one of the most exciting and important stages in our brief history. With developers able to embed fonts of their choice, designers can produce layouts that will render far more consistently from platform to platform bringing the art of interactive layout closer to it’s print cousin.

If we take a closer look at the technology behind a font, we can gain a far better understanding of how they can be used and deployed. Fonts at their most basic molecular level are a series of vector glyphs packaged up into a single “glyph archive”. We can then reference each glyph by its corresponding character code. Theoretically, it’s very similar to the way in which we reference an array in almost any programming language—through a key/value pair.

With this in mind, the glyphs we reference can really be any vector-based single color image. This is nothing new—we’ve all seen Dingbats and Webdings. They are two examples of non-type fonts, that is, a series of vector based images compiled into a single font archive.


Abstracting and Expanding @font-face

With the advent of font embedding and the realization that fonts are essentially a series of simple vector glyphs, I began to experiment on how to use this format to my advantage. Conceptually, if I placed all required icons for a particular site into a custom font, I would then be able to use those icons anywhere on the site with the ability to change size and color, add backgrounds, shadows and rotation, and just about anything else CSS will allow for text. The added advantage being a single CSS sprite-like HTTP request.

To illustrate, I’ve compiled a new font with a few of the great icons from Brightmix.

Sample glyph chart

I’ve used the lower case slots for plain icons, and the uppercase slots for the same icon in a circular treatment.

To use my new Icon Pack, I’ll first have to export my font set as a number of different font files (.eot, .woff, .ttf, .svg) to be compatible with all browsers. The topic of font embedding and file format converting is covered elsewhere, so I will avoid a detailed explanation here. However, the CSS would look something like this.

  1. @font-face {  
  2.   font-family'IconPack';  
  3.   srcurl('iconpack.eot');  
  4.   srclocal('IconPack'),  
  5.     url('iconpack.woff'format('woff'),  
  6.     url('iconpack.ttf'format('truetype'),  
  7.     url('iconpack.svg#IconPack'format('svg');  
  8. }  
@font-face { font-family: 'IconPack'; src: url('iconpack.eot'); src: local('IconPack'), url('iconpack.woff') format('woff'), url('iconpack.ttf') format('truetype'), url('iconpack.svg#IconPack') format('svg'); }

Once embedded, I now have a complete icon set in vector format to reference. To reference an icon I simply need a style that includes the font-family of “IconPack”.

image alt tag

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

  • item 1: Lorem ipsum dolor sit amet, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Lorem ipsum dolor sit amet, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Lorem ipsum dolor sit amet, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Lorem ipsum dolor sit amet, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
  • item 2: Lorem ipsum dolor sit amet, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
  • item 3: Lorem ipsum dolor sit amet, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
  • item 4: Lorem ipsum dolor sit amet, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

zuywxvz

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Layout Zoom: Increase | Decrease Dogmeat's gone @font-face icon French Template Crazy! @Font-Face Icon et Le  Template French Fou! technology philosophy tags territory tools schedule Lorem ipsum dolor sit amet   Tutorials \ HTML & CSS \ Rating: 1 2 3 4 5 Quick Tip: Ever Thought About Using @Font-fac ...»See Ya

August 15, 2011

My little Facebook Dogmeat Page

Since Jan 2008, some CSS modules instead of in the first column of a table.propdef. These rules handle both. As of Jan 2008, http://www.w3.org/Style/spec-mark-up still only documents  
facebook  
Hi Gaejang,
Here is this week's Facebook Insights summary for your website:
whatgetsmehot.posterous.com
Site Engagement
5
Total Actions
** PLEASE DESCRIBE THIS IMAGE **
96x
Distribution on Facebook
478
Total Impressions
** PLEASE DESCRIBE THIS IMAGE **
0.84%
Referral Traffic to Site
4
Total Clicks
View Insights
Thanks,
The Facebook Team
** PLEASE DESCRIBE THIS IMAGE **

text-space-collapse 'collapse' This value Since Jan 2008, some CSS modules useinstead of in the first column of a table.propdef. These rules handle both. As of Jan 2008, http://www.w3.org/Style/spec-mark-up still only documents text-space-collapse 'collapse' This value directs user agents to collapse sequences of white space into a single character (or in some cases, no character). 'preserve' This value prevents user agents from collapsing sequences of white space. Line feeds are preserved as forced line breaks. 'preserve-breaks' This value collapses white space as for 'collapse', but preserves line feeds as forced line breaks. 'discard' This value directs user agents to "discard" all white space in the element. 'trim-inner' For block containers this value directs UAs to discard all whitespace at the beginning of the element up to and including the last line feed before the first non-white-space character in the element as well as to discard all white space at the end of the element starting with the first line feed after the last non-white-space character in the element. For other elements this value directs UAs to discard all whitespace at the beginning and end of the element. 'consume-before' This value directs the UA to collapse all collapsible whitespace immediately before the start of the element. 'consume-after' This value directs the UA to collapse all collapsible whitespace immediately after the end of the element. 8. Alignment and Justification 8.1. Text Alignment: the 'text-align' property Name: text-align Value: [ start | ]? [ start | end | left | right | center | justify | match-parent ] Initial: start Applies to: block containers Inherited: yes Percentages: N/A Media: visual Computed value: specified value, except for 'match-parent' (see prose) This property describes how inline contents of a block are horizontally aligned if the contents do not completely fill the line box. Values have the following meanings: ( http://www.w3.org/ ) start The inline contents are aligned to the start edge of the line box. end The inline contents are aligned to the end edge of the line box. left The inline contents are aligned to the left edge of the line box. In vertical text, 'left' aligns to the edge of the line box that would be the start edge for left-to-right text. right The inline contents are aligned to the right edge of the line box. In vertical text, 'right' aligns to the edge of the line box that would be the end edge for left-to-right text. center The inline contents are centered within the line box. justify The text is justified according to the method specified by the 'text-justify' property. The string must be a single character; otherwise the declaration must be ignored. When applied to a table cell, specifies the alignment character around which the cell's contents will align. See below for further details. match-parent This value behaves the same as 'inherit' except that an inherited 'start' or 'end' keyword is calculated against its parent's 'direction' value and results in a computed value of either 'left' or 'right'. If two keywords are given in combination, then the first value specifies the alignment of the first line and any line immediately after a forced line break; and the second value specifies the alignment of any remaining lines. A block of text is a stack of line boxes. In the case of 'start', 'end', 'left', 'right' and 'center', this property specifies how the inline-level boxes within each line box align with respect to the start and end sides of the line box: alignment is not with respect to the viewport or containing block. In the case of 'justify', the UA may stretch or shrink any inline boxes by adjusting their text in addition to shifting their positions. (See also 'text-justify', 'letter-spacing', and 'word-spacing'.) If an element's white space is set to be collapsible, then the UA is not required to adjust its text for the purpose of justification and may instead treat the text as having no expansion opportunities. If the UA chooses to adjust the text, then it must ensure that tab stops continue to line up as required by the white space processing rules. 3.2. Tab Character Size: the 'tab-size' property Name: tab-size Value: | Initial: 8 Applies to: block containers Inherited: yes Percentages: N/A Media: visual Computed value: specified value This property determines the measure of the tab character (U+0009) when rendered. Integers represent the measure in space characters (U+0020). Negative integers are not allowed. 3.3. The White Space Processing Rules White space processing affects only spaces (U+0020), tabs (U+0009), and (post-normalization) line feeds (U+00A0). For each inline (including anonymous inlines) within an inline formatting context, white space characters are handled as follows, ignoring bidi formatting characters as if they were not there: If 'text-space-collapse' is set to 'collapse' or 'preserve-breaks', white space characters are considered collapsible and are processed by performing the following steps: All spaces and tabs immediately preceding or following a line feed character are removed. If 'text-space-collapse' is not 'preserve-breaks', line feed characters are transformed for rendering according to the line feed transformation rules. Every tab is converted to a space (U+0020). Any space immediately following another collapsible space -even one outside the boundary of the inline-is removed. However, if removing this space would eliminate a line breaking opportunity in the text, that opportunity is still considered to exist. A collapsible space immediately preceding an element with 'consume-before' is removed. Such removed spaces do not indicate a line breaking opportunity in the text. Any collapsible spaces after the end of an element with 'consume-after' are removed. Such removed spaces do not indicate a line breaking opportunity in the text. If 'text-space-collapse' is set to 'preserve', any sequence of spaces unbroken by an element boundary is treated as a sequence of non-breaking spaces. However, a line breaking opportunity exists at the end of the sequence. If 'text-space-collapse' is set to 'discard', the first white space character in every white space sequence is converted to a zero width non-joiner (U+200C) and the rest of the sequence is removed. Then, the entire block is rendered. Inlines are laid out, taking bidi reordering into account, and wrapping as specified by the 'text-wrap' property. As each line is laid out, A sequence of collapsible spaces at the beginning of a line is removed. Each tab is rendered as a horizontal shift that lines up the start edge of the next glyph with the next tab stop. Tab stops occur at points that are multiples of the width of a space (U+0020) rendered in the block's font from the block's starting content edge. How many spaces is given by the 'tab-size' property. A sequence of collapsible spaces at the end of a line is removed. If spaces or tabs at the end of a line are non-collapsible but have 'text-wrap' set to 'normal' or 'avoid' the UA may visually collapse their character advance widths. White space that was not removed during the white space processing steps is called preserved white space. 3.3.1. Example of bidirectionality with white space collapsing Consider the following markup fragment, taking special note of spaces (with varied backgrounds and borders for emphasis and identification): A B C where the element represents a left-to-right embedding and the element represents a right-to-left embedding. If the 'text-space-collapse' property is set to 'collapse', the above processing model would result in the following: The space before the B ( ) would collapse with the space after the A ( ). The space before the C ( ) would collapse with the space after the B ( ). This would leave two spaces, one after the A in the left-to-right embedding level, and one after the B in the right-to-left embedding level. This is then ordered according to the Unicode bidirectional algorithm, with the end result being: A BC Note that there are two spaces between A and B, and none between B and C. This is best avoided by putting spaces outside the element instead of just inside the opening and closing tags and, where practical, by relying on implicit bidirectionality instead of explicit embedding levels. **************** CSS Text Level 3 **************** --------------------------- Editor's Draft 29 July 2011 --------------------------- This version A B C **************** CSS Text Level 3 **************** --------------------------- Editor's Draft 29 July 2011 --------------------------- This version A B C New Lines Spaces and Tabs Text Wrapping normal Collapse Collapse Wrap pre Preserve Preserve No wrap nowrap Collapse Collapse No wrap pre-wrap Preserve Preserve Wrap pre-line Preserve Collapse Wrap New Lines Spaces and Tabs Text Wrapping normal Collapse Collapse Wrap pre Preserve Preserve No wrap nowrap Collapse Collapse No wrap pre-wrap Preserve Preserve Wrap pre-line Preserve Collapse Wrap

. If you don't want to receive these emails from Facebook in the future or have your email address used for friend suggestions, you can unsubscribe. Facebook, Inc. P.O. Box 10005, Palo Alto, CA 94303
Since Jan 2008, some CSS modules useinstead of in the first column of a table.propdef. These rules handle both. As of Jan 2008, http://www.w3.org/Style/spec-mark-up still only documents

text-space-collapse 'collapse' This value directs user agents to collapse sequences of white space into a single character (or in some cases, no character). 'preserve' This value prevents user agents from collapsing sequences of white space. Line feeds are preserved as forced line breaks. 'preserve-breaks' This value collapses white space as for 'collapse', but preserves line feeds as forced line breaks. 'discard' This value directs user agents to "discard" all white space in the element. 'trim-inner' For block containers this value directs UAs to discard all whitespace at the beginning of the element up to and including the last line feed before the first non-white-space character in the element as well as to discard all white space at the end of the element starting with the first line feed after the last non-white-space character in the element. For other elements this value directs UAs to discard all whitespace at the beginning and end of the element. 'consume-before' This value directs the UA to collapse all collapsible whitespace immediately before the start of the element. 'consume-after' This value directs the UA to collapse all collapsible whitespace immediately after the end of the element. 8. Alignment and Justification 8.1. Text Alignment: the 'text-align' property Name: text-align Value: [ start | ]? [ start | end | left | right | center | justify | match-parent ] Initial: start Applies to: block containers Inherited: yes Percentages: N/A Media: visual Computed value: specified value, except for 'match-parent' (see prose) This property describes how inline contents of a block are horizontally aligned if the contents do not completely fill the line box. Values have the following meanings: W3C

start The inline contents are aligned to the start edge of the line box. end The inline contents are aligned to the end edge of the line box. left The inline contents are aligned to the left edge of the line box. In vertical text, 'left' aligns to the edge of the line box that would be the start edge for left-to-right text. right The inline contents are aligned to the right edge of the line box. In vertical text, 'right' aligns to the edge of the line box that would be the end edge for left-to-right text. center The inline contents are centered within the line box. justify The text is justified according to the method specified by the 'text-justify' property. The string must be a single character; otherwise the declaration must be ignored. When applied to a table cell, specifies the alignment character around which the cell's contents will align. See below for further details. match-parent This value behaves the same as 'inherit' except that an inherited 'start' or 'end' keyword is calculated against its parent's 'direction' value and results in a computed value of either 'left' or 'right'. If two keywords are given in combination, then the first value specifies the alignment of the first line and any line immediately after a forced line break; and the second value specifies the alignment of any remaining lines. A block of text is a stack of line boxes. In the case of 'start', 'end', 'left', 'right' and 'center', this property specifies how the inline-level boxes within each line box align with respect to the start and end sides of the line box: alignment is not with respect to the viewport or containing block. In the case of 'justify', the UA may stretch or shrink any inline boxes by adjusting their text in addition to shifting their positions. (See also 'text-justify', 'letter-spacing', and 'word-spacing'.) If an element's white space is set to be collapsible, then the UA is not required to adjust its text for the purpose of justification and may instead treat the text as having no expansion opportunities. If the UA chooses to adjust the text, then it must ensure that tab stops continue to line up as required by the white space processing rules. 3.2. Tab Character Size: the 'tab-size' property Name: tab-size Value: | Initial: 8 Applies to: block containers Inherited: yes Percentages: N/A Media: visual Computed value: specified value This property determines the measure of the tab character (U+0009) when rendered. Integers represent the measure in space characters (U+0020). Negative integers are not allowed. 3.3. The White Space Processing Rules White space processing affects only spaces (U+0020), tabs (U+0009), and (post-normalization) line feeds (U+00A0). For each inline (including anonymous inlines) within an inline formatting context, white space characters are handled as follows, ignoring bidi formatting characters as if they were not there: If 'text-space-collapse' is set to 'collapse' or 'preserve-breaks', white space characters are considered collapsible and are processed by performing the following steps: All spaces and tabs immediately preceding or following a line feed character are removed. If 'text-space-collapse' is not 'preserve-breaks', line feed characters are transformed for rendering according to the line feed transformation rules. Every tab is converted to a space (U+0020). Any space immediately following another collapsible space -even one outside the boundary of the inline-is removed. However, if removing this space would eliminate a line breaking opportunity in the text, that opportunity is still considered to exist. A collapsible space immediately preceding an element with 'consume-before' is removed. Such removed spaces do not indicate a line breaking opportunity in the text. Any collapsible spaces after the end of an element with 'consume-after' are removed. Such removed spaces do not indicate a line breaking opportunity in the text. If 'text-space-collapse' is set to 'preserve', any sequence of spaces unbroken by an element boundary is treated as a sequence of non-breaking spaces. However, a line breaking opportunity exists at the end of the sequence. If 'text-space-collapse' is set to 'discard', the first white space character in every white space sequence is converted to a zero width non-joiner (U+200C) and the rest of the sequence is removed. Then, the entire block is rendered. Inlines are laid out, taking bidi reordering into account, and wrapping as specified by the 'text-wrap' property. As each line is laid out, A sequence of collapsible spaces at the beginning of a line is removed. Each tab is rendered as a horizontal shift that lines up the start edge of the next glyph with the next tab stop. Tab stops occur at points that are multiples of the width of a space (U+0020) rendered in the block's font from the block's starting content edge. How many spaces is given by the 'tab-size' property. A sequence of collapsible spaces at the end of a line is removed. If spaces or tabs at the end of a line are non-collapsible but have 'text-wrap' set to 'normal' or 'avoid' the UA may visually collapse their character advance widths. White space that was not removed during the white space processing steps is called preserved white space. 3.3.1. Example of bidirectionality with white space collapsing Consider the following markup fragment, taking special note of spaces (with varied backgrounds and borders for emphasis and identification): A B C where the element represents a left-to-right embedding and the element represents a right-to-left embedding. If the 'text-space-collapse' property is set to 'collapse', the above processing model would result in the following: The space before the B ( ) would collapse with the space after the A ( ). The space before the C ( ) would collapse with the space after the B ( ). This would leave two spaces, one after the A in the left-to-right embedding level, and one after the B in the right-to-left embedding level. This is then ordered according to the Unicode bidirectional algorithm, with the end result being: A BC Note that there are two spaces between A and B, and none between B and C. This is best avoided by putting spaces outside the element instead of just inside the opening and closing tags and, where practical, by relying on implicit bidirectionality instead of explicit embedding levels.

CSS Text Level 3

Editor's Draft 29 July 2011

This version
A B C

CSS Text Level 3

Editor's Draft 29 July 2011

This version
A B C
  New Lines Spaces and Tabs Text Wrapping
normal Collapse Collapse Wrap
pre Preserve Preserve No wrap
nowrap Collapse Collapse No wrap
pre-wrap Preserve Preserve Wrap
pre-line Preserve Collapse Wrap
  New Lines Spaces and Tabs Text Wrapping
normal Collapse Collapse Wrap
pre Preserve Preserve No wrap
nowrap Collapse Collapse No wrap
pre-wrap Preserve Preserve Wrap
pre-line Preserve Collapse Wrap

96x 0.84% Thanks, The Facebook Team text-space-collapse 'collapse' This value Since Jan 2008, some CSS modules useinstead of in the first column of a table.propdef. These rules handle both. As of Jan 2008, http://www.w3.org/Style/spec-mark-up still only documents text-space-collapse 'collapse' This ...»See Ya