Home | Site Map | Submit Article
.
Article Search
 
Article Categories

Advice

Auto Motive

Business

Communications

Computers & Internet

Dating

Education

Employment

Entertainment

Environment

Family

Fashion

Finance

Food & Drink

Gardening

Health

Hobbies

Home Business

Home Improvement

Humor

Kids & Teen

Legal

Marketing

Music

Online Business

Parenting

Pets

Product Reviews

Real Estate

Recreation & Sports

Self Improvement

Site Promotion

Technology

Travel & Leisure

Web Development

Women

World Affairs

Writing

 
   
   HasLayout concept explained - Learn how to exploit IE’s „layout”


14 Mar 2008 02:10:56
| Lighezan Alexandru


What the hell is layout? Layout is an Internet Explorer proprietary concept that controls both size and position of elements. IE uses "layout" to reduce its processing needs. In modern browsers, like FFox, Safari and Opera each element is responsible for it's own size and position. In IE 6 and below this would cause extreme problems related to performance. That's why IE gives "layout" only to elements that really need it. Anyway, "layout" really affects CSS designs, so it's important to know how to deal with it.

What elements do have layout? Elements that have layout include: bodytable, tr, td, input, select, textarea, button, img, marquee, hr, inframe(don't use this, please :) ), object, applet

How to give layout to an element? Using one of these CSS properties: float: left/right; position: absolute; display: inline-block; width/height;

Problems caused by "layout": Elements with layout incorrectly size themselves: Let's say you have a div with width:10px; Write some text inside it and set it's size to 30px. Also set border: 1px solid black; In this situation the text should flow out of the div, but in IE the div incorrectly expands. This shows that IE uses width like a min-width.

Absolute positioned elements within a relative container: Let's say that you have some absolutely positioned elements inside a relatively positioned ancestor. In IE, instead of being positioned relative to the ancestor, these elements will get positioned relative to the viewport. This bug is caused by IE's internal "hasLayout" feature. Elements with relative position are not considered to have "layout". A simple solution for this bug would be to set a width or height, to force the element to have layout. Anyway, maybe sometimes you will not know the dimensions of the element, so you can use the following hack:

/* Hide from Mac */ * html.element { heighT: 1px; } /* End hide from Mac */



About Author :

Lighezan Alexandru is a high quality web development articles writer. Some of its work can be found at chml srucnoc online.
Home >> Web Development

More Related Articles in " Web Development "
>>
4 Fail-Proof Ways to Increase Your RSS Subscribers [ Author : Josiah Mackenzie ]
>>
Color’s Mighty Power of Persuasion [ Author : Maricon Williams ]
>>
Common printing and advertising mistakes [ Author : Florie Lyn Masarate ]
>>
Ways To Improve Sales Through Your Website [ Author : Colin Stables ]
>>
Are Web Templates Aimed to Exterminate the ‘Web Stars’? [ Author : Maricon Williams ]
>>
Know-How in Microsoft Publisher [ Author : Mart Gil Abareta ]
>>
WHY DESIGN IS AS IMPORTANT AS PROMOTION [ Author : Richard Igoe ]
>>
Website Templates - Who Benefits? [ Author : Eric Lester ]
>>
Why slow access to your site is killing your business [ Author : Luis Perez ]
>>
Business Cards at Your Service [ Author : Kristine Llabres ]
 

 
© Copyright 2005-2007 Free Articles by articleburn.com All rights reserved
eXTReMe Tracker