DeutschDeutschEnglishEnglish | Imprint | Login
Yet Another Multicolumn Layout | An (X)HTML/CSS Framework

1.1 What is YAML?

YAML was conceived as a basis for developing flexible layouts, with a strong emphasis on meeting the challenges that result from working with elastic containers and varying units.

The most important features:

This system allows for the rapid development of designs with one to three columns, with fixed or variable widths. With subtemplates (flexible grids), the column system can be endlessly nested and expanded. The YAML basis layout can be extended with special containers which help set the layout width or can create a border around the layout. But why so many containers?

There are two basic methods for creating a layout:

The Bottom-Up Principle

The programmer starts with a blank page. The containers must all be created, positioned, and styled with CSS. A basic layout does not yet exist. While programming the layout, the designer must discover all relevant browser bugs and either avoid or hack them.

The Top-Down Principle

Here, the programmer begins with a cross-browser-compatible, functional, modular skeleton layout, which contains all the most often-used page elements.  The web designer then modifies this basic layout as he wishes and finally optimizes the XHTML and CSS code by removing unnecessary elements from the layout.

YAML was built for those working according to the second principle, and is best described with the terms "building block system" or "framework".

1.2 What is YAML not?

YAML is not a prepackaged layout. That would contradict the main idea behind the Top-Down principle. Without optimization for the demands of a particular design, the unnecessary elements (HTML / CSS) are just extra ballast.

Author’s note: the YAML framework provides a cross-browser compatible basic layout as well as many helpful CSS components, allowing programmers to devote more time and energy to creative design.

Nothing is further from my intentions than a translation of the monotony of row houses into the area of web design by the repeated use of YAML as a finished layout.

Of course it is not forbidden to use YAML and all its components as a “ready to use” layout. Yet, while adjusting the code to the site’s individual design, you should always keep the code as simple and clean as possible. Maintenance and bugfixing in the code will be that much easier. Unnecessary elements in the XHTML source code or the CSS files should thus be removed once the layout is final.

1.3 Advantages of the Framework

YAML is more than just a simple multicolumn layout.  It is an entire layout framework, highly flexible, and tested under real-world conditions.  YAML supplies diverse modules and ensures that they work together flawlessly.  Here are a few advantages of the YAML framework:

Browser Compatibility

YAML's components are all fully tested to ensure identical layouts in all browsers.  All necessary hacks are already built in,  minimizing the usual layout testing time for the various programs.  

Building Block Principle

The modular design allows particularly efficient layout design using the code provided.

The basic components combine to form a basic but fully functioning layout.  Additional components complete or modify this basis.  These CSS components are universally usable: once written and tested, they can be built in as needed and are available for future projects.

Examples include the simple variations in layout possible with the basemod files as well as the print stylesheets.

Flexibility in layout design

The framework design provides for much more than just a simple three-column layout. The flexible basis allows columns to be placed anywhere on the screen. The dynamic character of the floats allows even one- or two-column layouts in just a few clicks. Column and layout widths can be defined in any unit of measurement. Units can even be mixed among different columns on the same page.

Robust Code

The XHTML and CSS construction of the individual components guarantees almost complete independence from the structure of the actual content.
The nesting of the main elements of the page in separate DIV containers ensures the correct positioning of the elements on the screen, irrespective of the later use of any particular container.

Updates

The YAML framework is constantly updated. All changes in and additions to each new version are summarized in the changelog and when necessary, documented more extensively.

Updates of the framework basis are possible anytime, thanks to the organization of the CSS components and the separation of YAML and user CSS. Relaunches and redesigns are excellent opportunities for reworking YAML-based websites – or when the extended functionality of a new YAML version is desired.

Important: YAML has always been built with robust and stable components. However, existing websites need not be updated with every new version. A perfectly functioning CSS layout does not need monthly security patches!

An update of the framework basis is recommended when known CSS problems can be solved with a new YAML version.