Link to home
Start Free TrialLog in
Avatar of fskilnik
fskilnikFlag for Brazil

asked on

CSS positioning a certain image in a certain region

Hi there!

The image (attached) shows the problem: I would like to have the official solution of problem 1 presented inside the "Suggested Solution" area, even when no text is typed in this area. (When text is typed, the width of this region gets larger and the figure is shown without going over the next regions.)

Trying to solve the issue, I created a certain div to deal with the CSS of the image-holder specifically:

#questimageAnalysis {
      clear: both;
      width: 700px;
      float: right;
      padding-bottom: 100px;
}

and you can see this put into use here:

<div id="questimageAnalysis">
      <img src="../.../etc" alt="" name="Image3" id="Image3" />
      </div>

When I change the float to "left" it acts as expected, therefore the problem must be related to the CSS itself.

Please help!

P.S.: don´t worry about the links ("update ExplanationContent" and "update ExplanationContent Math")... they have nothing to do with the problem.
CSS-error.gif
Avatar of Scott Fell
Scott Fell
Flag of United States of America image

Link please.

If you don't have this public, strip out anything private and make a test case that can be made public.  If you still can't do that, you can use jsbin, jsfiddle, codepen and many others to create a test case to look at.

Thank you.
Avatar of fskilnik

ASKER

Hi, Scott.

Your demand is more-than-deserved. I will prepare a test-page with only what really matters contained (all div´s, for sure), and will be back with the link (still today).

Thank you for your support and see you soon!
Thank you.
Here we are:  

http://www.gmath2.com/Internal/admin_Materials/test.asp

(The page is not exactly the one shown before, but the problem is exactly the same. I took out the div related to the image because it didn´t work as expected.)

P.S.: the link below shows what I would like to get, but of course without having to type anything. (a, b, c were typed just to be able to see the image in the place it should be!)

http://www.gmath2.com/Internal/admin_Materials/test2.asp
ASKER CERTIFIED SOLUTION
Avatar of Scott Fell
Scott Fell
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I don't know how far in you are with your project, but I see you are using spry. Adobe has abandoned that project and you should really use something more modern like jquery or one of the other js libraries. http://todomvc.com/
Hi, Scott.

Thank you very much for your posts on this matter. I must leave the office now, but I will be back this Sunday. At that time I will look into your suggestions carefully and write you back!

Have a great day/weekend!
fskilnik.
Hi, Scott.

I am sorry for my delay, but yesterday (Sunday) I stayed at home (because of a terrible backache, not fully recovered yet...).

Your  "min-height: 150px; height: 200px:"  idea solved the problem for that image (therefore you understood what I need),  but the fact is every image has a different height, therefore there must be some other CSS-property that is able to "tell" the area in which the image is contained that it must "wait to the image to finish" so that it can close itself right after that (with same extra margin/padding between them, but this is easy).

As far as the "spry thing" is concerned, thank you for the warning. I put the spry in a clever way (not linked to an external - and now non-existent - source), but I guess it will be wiser to avoid it and give preference for jQuery, for instance.

Still waiting for another CSS-property, then!

Thanks  lot,
fskilnik.
I´m back, Scott.

I could find a solution (closely related to your idea!) in page 295 of the great book "CSS  The missing manual" by David S. McFarland. He mentioned it as the "easy clearing method" created by Tony Aslett of CssCreator.com.

I guess you´ve already know this, but, anyway, it is as follows:

You create 3 different styles (shown below) and, at the end, you include the [class = "clear"] to the div containing the "escaping float", in our case the [outside_question #question] one, as you correctly suggested.

Best Regards and see you in my next EE posts, I hope!
fskilnik.

.clear:after {
      content: ".";
      display: block;
      height: 0;
      font-size: 0;
      clear: both;
      visibility: hidden;
}

.clear {
      mini-height: 1px;
}

* html.clear {
      height: 1px;
}
I don't have a lot of time today.  I think your html may be a little over complex.    Look at this easy sample and see if it helps.

I have 3 div's floated and set the min-height to 50px and placed an image that is 150px tall inside.  It seems to do the trick.  

http://jsbin.com/nayoyi/1/edit
<!DOCTYPE html>
<html>
<head>
  <style>
    .one{
  float:left;
  width:300px;
  padding:10px;
  min-height:50px;
  border:solid thin
  
  
}
    </style>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
  <div class="one left"></div>
   <div class="one mid"><img src="http://placehold.it/350x150"></div>
   <div class="one right"></div>
</body>
</html>

Open in new window

Very nice, Scott!

It does the trick and, in fact, in a much easier way.   :)

Thanks a lot!