Hi Eric,
Thanks very much for taking time explaining and providing this detailed
answer. That works perfectly.
Posting back to a CSS training is certainly a way of answering but not the
most efficient for users willing to discover, with a limited amount of
time, your really nice application ....
Thanks a lot
Regards
Vpl
Le mardi 18 mars 2014 17:26:10 UTC+1, Eric Shulman a écrit :
>
> 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.