Why tables for layout is stupid:

Tables existed in HTML for one reason: To display tabular data. But then border="0" made it possible for designers to have a grid upon which to lay out images and text. Still the most dominant means of designing visually rich Web sites, the use of tables is now actually interfering with building a better, more accessible, flexible, and functional Web. Find out where the problems stem from, and learn solutions to create transitional or completely table-less layout.The problem with using tables:mixes presentational data in with your content.This makes the file sizes of your pages unnecessarily large, as users must download this presentational data for each page they visit.Bandwidth ain't free.This makes redesigns of existing sites and content extremely labor intensive (and expensive).It also makes it extremely hard (and expensive) to maintain visual consistency throughout a site.Table-based pages are also much less accessible to users with disabilities and viewers using cell phones and PDAs to access the Web.Modern browsers are much better at rendering Web standards and we don't need to use these archaic methods any more. Instead of nesting tables within tables and filling empty cells with spacer GIFs, we can use much simpler markup and CSS to lay out...

Read More »

IE and width & height issues

IE has a rather strange way of doing things. It doesn't understand the min-width and min-height commands, but instead interprets width and height as min-width and min-height - go figure!This can cause problems, because we may need boxes to be resizable should more text need to go in them or should the user resize text. If we only use the width and height commands on a box then non-IE browsers won't allow the box to resize. If we only use the min-width and min-height commands though then we can't control the width or height in IE!This can be especially problematic when using background images. If you're using a background image that's 80px wide and 35px high, then you'll want to make sure that the default size for a box using this image is exactly 80 x 35px. However, if users resize the text then the box size will need to expand gracefully.To resolve this problem, you can use the following code for a box with class="box":.box{width: 80px;height: 35px;}html>body .box{width: auto;height: auto;min-width: 80px;min-height: 35px;}All browsers will read through the first CSS rule but IE will ignore the second rule because it makes use of the child selector command5. Non-IE browsers will...

Read More »

Minimum width for a page

A very handy CSS command that exists is the min-width command, whereby you can specify a minimum width for any element. This can be particularly useful for specifying a minimum width for a page.Unfortunately, IE doesn't understand this command, so we'll need to come up with a new way of making this work in this browser. First, we'll insert a under the tag, as we can't assign a minimum width to the :Next we create our CSS commands, so as to create a minimum width of 600px:#container{min-width: 600px;width:expression(document.body.clientWidth < 600? "600px": "auto" );}The first command is the regular minimum width command; the second is a short JavaScript command that only IE understands. Do note though, this command will cause your CSS document to invalidate so you may prefer to insert it into the head of each HTML document to get round this.You might also want to combine this minimum width with a maximum width:#container{min-width: 600px;max-width: 1200px;width:expression(document.body.clientWidth < 600? "600px" : document.body.clientWidth > 1200? "1200px" : "auto");}

Read More »

ANSI character set and equivalent Unicode and HTML characters

The characters that appear in the first column of the following table are generated from Unicode numeric character references, and so they should appear correctly in any Web browser that supports Unicode and that has suitable fonts available, regardless of the operating system.CharacterANSINumber UnicodeNumber ANSIHex UnicodeHex HTML 4.0EntityUnicode NameUnicode Range' '32320x20U+0020spaceBasic Latin!33330x21U+0021exclamation markBasic Latin"34340x22U+0022"quotation markBasic Latin#35350x23U+0023number signBasic Latin$36360x24U+0024dollar signBasic Latin%37370x25U+0025percent signBasic Latin&38380x26U+0026&ampersandBasic Latin'39390x27U+0027apostropheBasic Latin(40400x28U+0028left parenthesisBasic Latin)41410x29U+0029right parenthesisBasic Latin*42420x2AU+002AasteriskBasic Latin+43430x2BU+002Bplus signBasic Latin,44440x2CU+002CcommaBasic Latin-45450x2DU+002Dhyphen-minusBasic Latin.46460x2EU+002Efull stopBasic Latin/47470x2FU+002FsolidusBasic Latin048480x30U+0030digit zeroBasic Latin149490x31U+0031digit oneBasic Latin250500x32U+0032digit twoBasic Latin351510x33U+0033digit threeBasic Latin452520x34U+0034digit fourBasic Latin553530x35U+0035digit fiveBasic Latin654540x36U+0036digit sixBasic Latin755550x37U+0037digit sevenBasic Latin856560x38U+0038digit eightBasic Latin957570x39U+0039digit nineBasic Latin:58580x3AU+003AcolonBasic Latin;59590x3BU+003BsemicolonBasic Latin62620x3EU+003E>greater-than signBasic Latin?63630x3FU+003Fquestion markBasic Latin@64640x40U+0040commercial atBasic LatinA65650x41U+0041Latin capital letter ABasic LatinB66660x42U+0042Latin capital letter BBasic LatinC67670x43U+0043Latin capital letter CBasic LatinD68680x44U+0044Latin capital letter DBasic LatinE69690x45U+0045Latin capital letter EBasic LatinF70700x46U+0046Latin capital letter FBasic LatinG71710x47U+0047Latin capital letter GBasic LatinH72720x48U+0048Latin capital letter HBasic LatinI73730x49U+0049Latin capital letter IBasic LatinJ74740x4AU+004ALatin capital letter JBasic LatinK75750x4BU+004BLatin capital letter KBasic LatinL76760x4CU+004CLatin capital letter LBasic LatinM77770x4DU+004DLatin capital letter MBasic LatinN78780x4EU+004ELatin capital letter NBasic LatinO79790x4FU+004FLatin capital letter OBasic LatinP80800x50U+0050Latin capital letter PBasic LatinQ81810x51U+0051Latin capital letter QBasic LatinR82820x52U+0052Latin capital letter RBasic LatinS83830x53U+0053Latin capital letter SBasic LatinT84840x54U+0054Latin capital letter TBasic LatinU85850x55U+0055Latin capital letter UBasic LatinV86860x56U+0056Latin capital letter VBasic LatinW87870x57U+0057Latin capital letter WBasic LatinX88880x58U+0058Latin capital letter XBasic LatinY89890x59U+0059Latin...

Read More »

CSS Block and inline level elements

Nearly all HTML elements are either block or inline elements. The characteristics of block elements include:begin on a new line Height, line-height and top and bottom margins can be manipulated defaults to 100% of their containing element, unless a width is specifiedExamples of block elements include , , , , and . Inline elements on the other hand have the opposite characteristics: Begin on the same line Height, line-height and top and bottom margins can't be changed Width is as long as the text/image and can't be manipulatedExamples of inline elements include , , , , , and .To change an element's status you can use display: inline or display: block. But what's the point of changing an element from being block to inline, or vice-versa? Well, at first it may seem like you might hardly ever use this, but in actual fact this is a very powerful technique, which you can use any time you want to: Have an inline element start on a new line . Have a block element start on the same line Control the width of an inline element (particularly useful for navigation links) Manipulate the height of an inline element Set a background colour...

Read More »

Two classes together

Usually attributes are assigned just one class, but this doesn't mean that that's all you're allowed. In reality, you can assign as many classes as you like! For example: class="text side"Using these two classes together (separated by a space, not with a comma) means that the paragraph calls up the rules assigned to both text and side. If any rules overlap between the two classes then the class which is below the other in the CSS document will take precedence.

Read More »

!important ignored by IE

Normally in CSS whichever rule is specified last takes precedence. However if you use !important after a command then this CSS command will take precedence regardless of what appears after it. This is true for all browsers except IE. An example of this would be:margin-top: 3.5em !important; margin-top: 2emSo, the top margin will be set to 3.5em for all browsers except IE, which will have a top margin of 2em. This can sometimes come in useful, especially when using relative margins (such as in this example) as these can display slightly differently between IE and other browsers.(Many of you may also be aware of the CSS child selector, the contents of which IE ignores.)

Read More »

CSS border default value

When writing a border rule you'll usually specify the colour, width and style (in any order). For example, border: 3px solid #000 will give you a black solid border, 3px thick. However the only required value here is the border style.If you were to write just border: solid then the defaults for that border will be used. But what defaults? Well, the default width for a border is medium (equivalent to about 3 to 4px) and the default colour is that of the text colour within that border. If either of these are what you want for the border then you can leave them out of the CSS rule!

Read More »

Universal selector

The universal selector, written "*", matches the name of any element type. It matches any single element in the document tree.If the universal selector is not the only component of a simple selector, the "*" may be omitted. For example: * *[LANG=fr] and [LANG=fr] are equivalent. * *.warning and .warning are equivalent. * *#myid and #myid are equivalent.

Read More »

Font Size Conversion Chart

Font Size Conversion Chart Points Pixels Ems Percent Keyword Default sans-serif 6pt 8px 0.5em 50% CSS Tricks 7pt 9px 0.55em 55% CSS Tricks 7.5pt 10px 0.625em 62.5% x-small CSS Tricks 8pt 11px 0.7em 70% CSS Tricks 9pt 12px 0.75em 75% CSS Tricks 10pt 13px 0.8em 80% small CSS Tricks 10.5pt 14px 0.875em 87.5% CSS Tricks 11pt 15px 0.95em 95% CSS Tricks 12pt 16px 1em 100% medium CSS Tricks 13pt 17px 1.05em 105% CSS Tricks 13.5pt 18px 1.125em 112.5% large CSS Tricks 14pt 19px 1.2em 120% CSS Tricks 14.5pt 20px 1.25em 125% CSS Tricks 15pt 21px 1.3em 130% CSS Tricks 16pt 22px 1.4em 140% CSS Tricks 17pt 23px 1.45em 145% CSS Tricks 18pt 24px 1.5em 150% x-large CSS Tricks 20pt 26px 1.6em 160% CSS Tricks 22pt 29px 1.8em 180% CSS Tricks 24pt 32px 2em 200% xx-large CSS Tricks 26pt 35px 2.2em 220% CSS Tricks 27pt 36px 2.25em 225% CSS Tricks 28pt 37px 2.3em 230% CSS Tricks 29pt 38px 2.35em 235% CSS Tricks 30pt 40px 2.45em 245% CSS Tricks 32pt 42px 2.55em 255% CSS Tricks 34pt 45px 2.75em 275% CSS Tricks 36pt 48px 3em 300% CSS Tricks There is a good online PX to EM conversion calculator available. You can also use...

Read More »

History of Kerala Renaissance (കേരള നവോത്ഥാന ചരിത്രം)


Through the paths of history (ചരിത്രവഴികളിലൂടെ )


Dravidian glory (കനലാട്ടം)


ഭാഷാപുരാണം


ഇഷ്ടപ്പെട്ട യാത്രകൾ (Favorite trips)


എനിക്കിഷ്ടപ്പെട്ട കവിതകൾ (My favorite poems)