Programming in HTML with JavaScript and CSS3.
Using position, floating, and exclusions in overall layout
Position, floating and exclusions
You can use position and float to position elements in overall layout. Float is a mechanism by which the surrounding content will flow smoothly around the element with its float property specified to left or right.
Exclusions provide a way to overcome this limitation with float. Exclusions are achieved by specifying the CSS3 property wrap-flow. The wrap-flow property supports a variety of options.
The following Table outlines the Values available for the wrap-flow property:
Value | Description |
auto | This is the default value. The exclusion item will be over top of the inline element. |
both | The exclusion will force the inline element to wrap smoothly on both sides. |
start | The exclusion will force the inline elements to wrap only on the starting edge, and the ending edge will be empty. |
end | The exclusion will force the inline element to wrap only on the ending edge, and the starting edge will be empty. |
maximum | The exclusion will force the inline element to wrap only on the side with the largest available space. |
clear | The exclusion will force the inline content to wrap only on the top and bottom and leave the start and end edges empty. |
* At this time, the wrap-flow property is only implemented in Internet Explorer 10+.
Setting the wrap-flow property to both
The inline text wraps nicely around both the start (left edge of the image) and the end (right edge of the image).
The text is quite close to the image. The wrap-margin property can be specified to provide a margin around the image.
The following code demonstrates the wrap-flow:both; and the wrap-margin properties:
<head>
<style type="text/css">
#p2{
width: 80%;
padding-left: 10px;
}
#img2 {
position: absolute;
height: 100px;
width: 150px;
/* The exclusion will force the inline
element to wrap smoothly on both sides. */
-ms-wrap-flow: both;
/* MARGINS AROUND THE IMAGE*/
-ms-wrap-margin: 15px;
}
</style>
</head>
<body>
<h2> -ms-wrap-flow: both; -ms-wrap-margin: 15px;</h2>
<p id="p2">
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
Modus elaboraret temporibus no sit.Lorem ipsum dolor sit debitis.
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
<img src="flowers.jpg" id="img2" />
Modus elaboraret temporibus no sit.Lorem ipsum dolor sit debitis.
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
At invidunt splendide qui, ut pro choro iisque democritum. Partem
</p>
</body>
Setting the wrap-flow property to start or end
In the case where you want to have the inline content wrap only on the left or the right, you will specify the wrap-flow property to start or end respectively.
The following code demonstrates the wrap-flow properties to the value start or end:
<head>
<style type="text/css">
#p1 {
width: 80%;
padding-left: 10px;
}
#img1 {
position: absolute;
height: 100px;
width: 150px;
/* End - the content on the right */
/* Start - the content on the left */
-ms-wrap-flow: start;
}
</style>
</head>
<body>
<p id="p1">
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
Modus elaboraret temporibus no sit.Lorem ipsum dolor sit debitis.
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
<img src="flowers.jpg" id="img1" />
Modus elaboraret temporibus no sit.Lorem ipsum dolor sit debitis.
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
At invidunt splendide qui, ut pro choro iisque democritum. Partem
</p>
</body>
Setting the wrap-flow property to clear
In this case both sides of the exclusion object are cleared and the text wraps only along the top and the bottom.
The following code demonstrates the wrap-flow properties to the value clear:
<head>
<style type="text/css">
#p1 {
width: 80%;
padding-left: 10px;
}
#img1 {
position: absolute;
height: 100px;
width: 150px;
/* The content wrap only along the
top and bottom */
-ms-wrap-flow: clear;
}
</style>
</head>
<body>
<p id="p1">
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
Modus elaboraret temporibus no sit.Lorem ipsum dolor sit debitis.
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
<img src="flowers.jpg" id="img1" />
Modus elaboraret temporibus no sit.Lorem ipsum dolor sit debitis.
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
Lorem ipsum dolor sit debitis. Modus elaboraret temporibus no sit.
At invidunt splendide qui, ut pro choro iisque democritum. Partem
</p>
</body>
Ads Right