<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lifeline Blog&#187; CSS Tutorials</title>
	<atom:link href="http://www.lifelinedesign.ca/blog/category/css-tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lifelinedesign.ca/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 12 Aug 2010 15:41:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Beginner: Variable Width/Height Box with CSS</title>
		<link>http://www.lifelinedesign.ca/blog/2010/05/beginner-variable-widthheight-box-with-css/</link>
		<comments>http://www.lifelinedesign.ca/blog/2010/05/beginner-variable-widthheight-box-with-css/#comments</comments>
		<pubDate>Fri, 14 May 2010 13:00:02 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[CSS Tutorials]]></category>

		<guid isPermaLink="false">http://www.lifelinedesign.ca/blog/?p=437</guid>
		<description><![CDATA[Hello!
This tutorial will illustrate how to create a variable width/height box with a background image and rounded corners via CSS.
The solution is very easy, and the box created can be easily modified and shaped according to different widths and heights required.
First: You need a PSD file or an image with the entire box.
Second: You need [...]]]></description>
			<content:encoded><![CDATA[<p>Hello!</p>
<p>This tutorial will illustrate how to create a variable width/height box with a background image and rounded corners via <acronym title="Cascading Style Sheets">CSS</acronym>.</p>
<p>The solution is very easy, and the box created can be easily modified and shaped according to different widths and heights required.</p>
<p>First: You need a <acronym title="Photoshop Layered Image">PSD</acronym> file or an image with the entire box.</p>
<p>Second: You need to have an <acronym title="HyperText Markup Language">HTML</acronym> file, a <acronym title="Cascading Style Sheets">CSS</acronym> file, and the images folder.</p>
<p><span id="more-437"></span></p>
<p>Okay, so the HTML structure will look like this:</p>
<h2>THE XHTML</h2>
<p>The first line is the container of the box.</p>
<pre>&lt;pre&gt;
&lt;div&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;
&lt;div&gt;
&amp;nbsp;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/pre&gt;</pre>
<p>The second line is a helpful <acronym title="Cascading Style Sheets">CSS</acronym> class helper and it shows in the code what that div is doing.</p>
<p>The logic is: top bar, bottom bar, left bar, right bar, bottom-left corner, bottom-right corner, top-left corner , top-right corner. The <code>.innerRoundBorder</code> is another helpful <acronym title="Cascading Style Sheets">CSS</acronym> class &#8211;  you can chain your <acronym title="Cascading Style Sheets">CSS</acronym> so that you don&#8217;t have to have large specificity. The fact is that this technique is based on the specificity of the <acronym title="Cascading Style Sheet">CSS</acronym>, as you will see in the following <acronym title="Cascading Style Sheet">CSS</acronym> file below.</p>
<p>The <acronym title="Photoshop Layered Image">PSD</acronym> will be sliced like this: the corners, and then a section of each of the 4 bars, the heights must be identical of the bars, ie. the top-left corner, the top-bar, the top-right corner all of them must be of equal height, and ie. the top-left corner, the left bar, bottom-left corner (for these the width must be identical).</p>
<h3>The CSS:</h3>
<pre> .roundedBorder {
 /* heights width are set here like */

 width: 300px; height: 300px; /* or */ width: 150px; height: 500px;

 /*  or something you want, and if the lines are simple and have a simple background,
 the background-color of the INNER BOX must be set HERE, like */ 

background-color:  #f2f2f2;}</pre>
<p>To tell others who may work on the code after you, you can put a small comment at the top like this:</p>
<pre>/* border logic
t
t b
t b l
t b l r
t b l r blc
t b l r blc brc
t b l r blc brc tlc
t b l r blc brc tlc trc
*
</pre>
<pre>.roundedBorder .border {  background-image: url("./images/topBar.png");
 background-repeat: repeat-x; background-position: top center;}
.roundedBorder .border div { background-image: url("./images/bottomBar.png");
 background-repeat: repeat-x; background-position: bottom center;}&gt;
.roundedBorder .border div div { background-image: url("./images/leftBar.png");
 background-repeat: repeat-y; background-position: left center;}
.roundedBorder .border div div div { background-image: url("./images/rightBar.png");
background-repeat: repeat-y; background-position: right center;}
.roundedBorder .border div div div div { background-image: url("./images/bottomLeftCorner.png");
 background-repeat: no-repeat; background-position:  left bottom;}
.roundedBorder .border div div div div div { background-image: url("./images/bottomRightCorner.png");
 background-repeat: no-repeat; background-position: right bottom;}
.roundedBorder .border div div div div div div { background-image: url("./images/topLeftCorner.png");
 background-repeat: no-repeat; background-position: left top;}
.roundedBorder .border div div div div div div div { background-image: url("./images/topRightCorner.png");
background-repeat: no-repeat; background-position: right top;}
.roundedBorder .border div div div div div div div div { background-image: none;}
/* THIS IS VERY IMPORTANT, MAKES SURE NO IMAGES WILL SHOW TO INNER DIVS */
</pre>
<p>This technique can be used both on large scale and on small scale, however it&#8217;s best not to exaggerate a lot as the number of divs gets exponentially larger.</p>
<p>The 2nd way to make rounded corners is by using the jQuery framework and the<a href="http://www.malsup.com/jquery/corner/"> jQuery Corner Plug-in. </a>The explanations on its website will be sufficient enough to get you started, but if you require more info post a comment and I&#8217;ll see what I can do.</p>
<p>Best Regards.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifelinedesign.ca/blog/2010/05/beginner-variable-widthheight-box-with-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advanced: CSS Frameworks</title>
		<link>http://www.lifelinedesign.ca/blog/2010/05/advanced-css-frameworks/</link>
		<comments>http://www.lifelinedesign.ca/blog/2010/05/advanced-css-frameworks/#comments</comments>
		<pubDate>Fri, 07 May 2010 13:00:50 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[CSS Tutorials]]></category>

		<guid isPermaLink="false">http://www.lifelinedesign.ca/blog/?p=428</guid>
		<description><![CDATA[Most people would argue that CSS frameworks are the new &#8220;god&#8221; when it comes to CSS programming. Although in part this is correct, I highly disapprove of the need to use CSS frameworks for everything, for a couple of reasons.
First off, a CSS framework is a very compact, complex, and relatively useful base on which [...]]]></description>
			<content:encoded><![CDATA[<p>Most people would argue that CSS frameworks are the new &#8220;god&#8221; when it comes to CSS programming. Although in part this is correct, I highly disapprove of the need to use CSS frameworks for everything, for a couple of reasons.</p>
<p>First off, a CSS framework is a very compact, complex, and relatively useful base on which you can style your own elements independently. It offers basic layout classes, basic width classes, basic height classes and a standardized way to write your CSS. This is all nice and great &#8211; on paper &#8211; however, in real life and real life development it only works if you have a very specific goal you want to achieve.</p>
<p>CSS frameworks work very well when it comes to building a huge website that is PHP/ASP.NET based and which has a very standardized layout, ie. most elements on the page are placed into modules and each module is presented after a strict grid like this:</p>
<pre>&lt;div class="module"&gt;
 &lt;div class="mod-header"&gt;

 &lt;/div&gt;
 &lt;div class="mod-content clearfix"&gt;
  &lt;div class="list-item"&gt;

  &lt;/div&gt;
  &lt;div class="side-item"&gt;

  &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>If you have a website that has a lot of different content on all pages, and many different ways you want the content represented, building the website via a framework is impossible.  But let&#8217;s say you wish to build an administrative panel for a software &#8212; then, since everything is modulated and everything almost looks the same because each module is a function of that CMS system (much like in wordpress admin panel ), actually making the entire CSS based on a framework is actually a smart decision that will cut your development costs significantly.</p>
<p>Also, having a framework is very good when it comes to getting people to work on your code; since I highly doubt that the developers who build the website will remain with the same company for the next 5-10 years, having a standard on which everything is built can help the newcomers get up to speed quickly and without too many hassles.</p>
<p>PRO</p>
<ul>
<li>Highly easy to build from the ground up</li>
<li>Fits like a glove when you try to build an admin-panel or anything modular</li>
<li>Helps newcomers get up to speed quickly</li>
<li>Lowers development costs</li>
</ul>
<p>CON</p>
<ul>
<li>Highly unsuited for building a regular dynamic website</li>
<li>Very complicated to learn from the start if you have zero previous knowledge</li>
<li>Lots of files to manage</li>
</ul>
<p>So, CSS frameworks have their usefulness but it&#8217;s not the &#8220;end of everything&#8221; as they are preached by various CSS coders.</p>
<p>Regarding CSS frameworks suggestions, I highly suggest jQueryUI framework which comes bundled with image-icons, CSS code, and jQuery functionality all in one, so you can grab that @ http://jQueryUI.com</p>
<p>That&#8217;s all for this week.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifelinedesign.ca/blog/2010/05/advanced-css-frameworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intermediate: Conditional Comments</title>
		<link>http://www.lifelinedesign.ca/blog/2010/02/intermediate-conditional-comments/</link>
		<comments>http://www.lifelinedesign.ca/blog/2010/02/intermediate-conditional-comments/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 02:44:26 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[CSS Tutorials]]></category>

		<guid isPermaLink="false">http://www.lifelinedesign.ca/blog/?p=407</guid>
		<description><![CDATA[Today I&#8217;m going to give you some tips that relate to Conditional Comments, such as how can you use them and a nice little trick you can do with them. Without further ado, let us begin.
Conditional Comments are a proprietary function created by Microsoft for Internet Explorer browsers, so developers can tag XHTML/HTML code specially [...]]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;m going to give you some tips that relate to Conditional Comments, such as how can you use them and a nice little trick you can do with them. Without further ado, let us begin.</p>
<p>Conditional Comments are a proprietary function created by Microsoft for Internet Explorer browsers, so developers can tag XHTML/HTML code specially for an Internet Explorer browser. In other words, everything inside a Conditional Comment will be skipped by all browsers except IE if the Conditional Comment follows certain conditions.</p>
<p>These conditions are:  lte (lower than or equal to), lt (lower than), gt (greater than), gte ( greater than or equal to)</p>
<pre>&lt;!--[IF lte IE 6]&gt; Only stuff that will be read by browsers
 lower than Internet Explorer 6 or by Internet Explorer 6. Internet Explorer 7
 and above will not read this code &lt;![endif]--&gt;

&lt;!--[IF lt IE 6]&gt; Only browsers lowers than IE6 will
read this paragraph &lt;![endif]--&gt;

&lt;!--[IF gt IE 6]&gt; Only browsers higher than IE6 will read
this paragraph, such as IE7/IE8 and above. &lt;![endif]--&gt;

&lt;!--[IF gte IE 6]&gt; Only browsers higher than IE6 or
IE6 will read this paragraph &lt;![endif]--&gt;</pre>
<p>And an extremely nice thing you can do is that when you wish to eliminate a browser from your website, as in you do not wish to serve CSS and JS files for it, you can do this easily using XHTML code; you don&#8217;t need to do server side verification or js verification.</p>
<pre>&lt;!--[IF IE]&gt;--&gt;
THIS PARAGRAPH WILL NOT BE READ BY ANY IE version
&lt;!--&lt;![endif]--&gt;

&lt;!--[IF gte IE 7]&gt;
ONLY IE7+ will read this following paragraph
&lt;![endif]--&gt;</pre>
<p>Effectively you have removed your server from serving CSS/JS to IE6 browsers. This is done because IE6 is a very old browser and modern web applications may not work on IE6&#8230;  and if they&#8217;re dumbed down for IE6, the application may lack lots of features. You can also use this technique to send any sort of CSS, such as a basic style or a basic JS, so you provide only the basic features. The possibilities are endless.</p>
<p>Next week we&#8217;re going to talk about CSS 3.0 features <img src='http://www.lifelinedesign.ca/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Best Regards</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifelinedesign.ca/blog/2010/02/intermediate-conditional-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Basics: Inserting CSS (Cascading Style Sheets) Code</title>
		<link>http://www.lifelinedesign.ca/blog/2010/02/the-basics-inserting-css-cascading-style-sheets-code/</link>
		<comments>http://www.lifelinedesign.ca/blog/2010/02/the-basics-inserting-css-cascading-style-sheets-code/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 21:49:07 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[CSS Tutorials]]></category>

		<guid isPermaLink="false">http://www.lifelinedesign.ca/blog/?p=372</guid>
		<description><![CDATA[Beginner Level
Hello, my name is Alexandru Dinulescu (aka Alex D) and I am the XHTML/CSS coder for Lifeline Design. I have been invited to share some of my knowledge on this blog, so without further ado, this is the first lesson: how to insert CSS code into your XHTML pages.
Before I begin, a short explanation [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Beginner Level</strong></p>
<p>Hello, my name is Alexandru Dinulescu (aka Alex D) and I am the XHTML/CSS coder for Lifeline Design. I have been invited to share some of my knowledge on this blog, so without further ado, this is the first lesson: how to insert CSS code into your XHTML pages.</p>
<p>Before I begin, a short explanation on what CSS is and what it does. Basically, there are 3 layers on your website: the first one is the content of the website which includes all the text, links, images, and so on. This is the content layer or the XHTML layer. On this, another layer is added which is the CSS layer &#8211; it governs how the site looks, what colors you use, the site&#8217;s position (left, center or right), widths and heights. The 3rd layer is the behavioral layer and it involves interactions between the first and the second layers based on user input. This 3rd layer is also known as the javascript layer.</p>
<p>Now involving CSS, this means that we are using the 2nd layer to style the content layer and there are a few ways to do it.</p>
<h3>The Old Way</h3>
<p>Back in the good ol&#8217; days of the late 90&#8217;s the web was a mess, as every page was table-tag based and the CSS was added inline. What does that mean? Well it&#8217;s simple, every tag had its CSS added individually instead of using a specialized option, and when you had to modify something, let&#8217;s just say that it could take hours or even days for a huge website.</p>
<p>An example looks like this:</p>
<pre>&lt;p style="color: #fff; line-height: 30px; font-weight: bold"&gt;
Individual Styled Paragraph&lt;/p&gt;</pre>
<p>Now the downsides of this method as previously stated are huge. Every time you wish to change something you have to go over all the pages and modify every individual element, which can turn a 2 minute job into a full-week job, which is good for us, the coders, but bad for business.</p>
<p>Another old way insert CSS code in XHTML was by using the &lt;style&gt; tag. This tag can either be added in the &lt;head&gt; section or anywhere in the XHTML code.</p>
<pre>&lt;style type="text/css"&gt;
 /* css code goes here */
&lt;/style&gt;
</pre>
<h3>The New Way</h3>
<p>After browser support got a bit better, another easier way of inserting CSS came to light: using the &lt;link&gt; tag inside the &lt;head&gt; tag. This means that you had an individual file that coordinated the CSS, and finally the 2 layers of content (XHTML) and presentation (CSS) got separated, thus making life easier whenever it was time to modify some things:</p>
<pre>&lt;html&gt;
 &lt;head&gt;
  &lt;link rel="stylesheet" href="./css/file.css" media="screen, handheld" type="text/css" /&gt;
 &lt;/head&gt;
 &lt;body&gt;&lt;/body&gt;
&lt;/html&gt;</pre>
<p>This method proved to be highly adequate and self-sufficient, but some developers thought of an even better way of organizing the CSS files, and they did that using the @inport feature. Basically, instead of having 1 master CSS file that contained EVERYTHING, you had a CSS file for every section of the page (or every page-module if the website was built with a modular approach in mind) and then you had a MASTER CSS that contained only a few lines such as this:</p>
<pre>/* Master CSS FILE: */
@import: url("./head.css");
@import: url("./body.css");
@import: url("./footer.css");

/* and now you can just link the master.css file instead of all 3 */
&lt;link rel="stylesheet" type="text/css" href="./css/masterCss.css" type="screen, handheld" /&gt;</pre>
<p>That&#8217;s about it for this week. Catch you all next week when I&#8217;ll talk about Conditional Comments, and how can Conditional Comments help you fix problems for Internet Explorer 6 and occasionally Internet Explorer 7 browsers.</p>
<p>Stay Tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifelinedesign.ca/blog/2010/02/the-basics-inserting-css-cascading-style-sheets-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Feature: CSS Tutorials</title>
		<link>http://www.lifelinedesign.ca/blog/2010/02/new-feature-css-tutorials/</link>
		<comments>http://www.lifelinedesign.ca/blog/2010/02/new-feature-css-tutorials/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 21:02:33 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[CSS Tutorials]]></category>

		<guid isPermaLink="false">http://www.lifelinedesign.ca/blog/?p=384</guid>
		<description><![CDATA[I&#8217;m happy to announce a new regular  feature on the Lifeline blog! Our resident CSS expert Alex will be posting CSS tutorials on a regular basis. These tutorials will follow a cycle of basic, advanced and intermediate. The top of each post will indicate the level of complexity of the tutorial.
We may also throw in [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m happy to announce a new regular  feature on the Lifeline blog! Our resident CSS expert Alex will be posting CSS tutorials on a regular basis. These tutorials will follow a cycle of basic, advanced and intermediate. The top of each post will indicate the level of complexity of the tutorial.</p>
<p>We may also throw in some answers to user posted questions, so if you have any CSS queries, please <a href="http://www.lifelinedesign.ca/Contact.html">contact us</a> and we may just be able to answer them for you!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifelinedesign.ca/blog/2010/02/new-feature-css-tutorials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
