On Tuesday, March 18, 2014 4:29:07 AM UTC-7, vpl wrote:
>
> <img src="solar.png" style="width: 50%;high: 50%; float: right;"  />
>
> ! This is title
>
> * item-1
>
> ** item1.1
>
> * item-2
>

The problem you are having (where the image is taller than the tiddler 
content and overflows the tiddler) is due to the way that CSS "float" 
attribute works.

The image you specified has "float:right".  This means that all content 
that follows the image will be rendered next to the image, starting at the 
same vertical position as the top of the image.  If the content that 
follows is longer than the image, then it continues to "flow" around the 
image, until it is below the bottom of the image, after which it renders as 
normal (i.e., using the full available width of the tiddler).

In your example case, the content of the tiddler is shorter than the image. 
 However, the *image* is still floating and, as I wrote above, **ALL** 
content that follows the floating image will be "flowed" around the image 
until it is below the bottom of the image.  This includes content from the 
tiddler that follows the one with the floated image.

Fortunately, in standard CSS usage, there is a way to explicitly terminate 
the "float/flow" handling: when the browser encounters a DIV with CSS 
attribute "clear:left", "clear:right" or "clear:both", it forces any 
content within (or following) that DIV to be rendered AFTER the floated 
image element.

Thus:
<img src="..." style="...;float:right;...">
this content will be
flowed NEXT to the image
<div style="clear:both;line-height:0px;">
this content will be rendered BELOW the image
</div>
and so will this content

if you don't have any content to follow the image, embed an empty DIV:
<img src="..." style="...;float:right;...">
content
<div style="clear:both;line-height:0px;"></div>

This should produce the results you are expecting (i.e., the floated image 
is completely contained within the tiddler extents)

Of course, it's a bit inconvenient to remember to add this div to each 
tiddler that has a floating image.  Fortunately, there is a way to specify 
the "clear:both" attribute using CSS within a stylesheet.  All you need to 
do is create a tiddler tagged with "$:/tags/stylesheet", containing the 
following:
div.tw-tiddler-frame.tw-tiddler-exists:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

With this CSS in place, floated images will *automatically* be fully 
contained inside the tiddler-frame, without needing to add any HTML to 
individual tiddlers.

enjoy,
-e
Eric Shulman
TiddlyTools / ELS Design Studios

YOUR DONATIONS ARE VERY IMPORTANT!
HELP ME TO HELP YOU - MAKE A CONTRIBUTION TO MY "TIP JAR"...
   http://TiddlyTools.github.com/fundraising.html#MakeADonation

Professional TiddlyWiki Consulting Services...
Analysis, Design, and Custom Solutions:
   http://www.TiddlyTools.com/#Contact





-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/tiddlywiki.
For more options, visit https://groups.google.com/d/optout.

Reply via email to