Honesty Rocks! truth rules.

Div Layer Help Help me get css to not suck

HOME      >>       Programming

galexcd

Alright 20 credits goes to the first person to successfully solve my problem.I need a div layer who's position is absolute to be 100 pixels from the top of the window and 0 pixels from the bottom without it going over. I have lost all faith in CSS because it cannot do this simple task that I require it to do.Bonus points if you can get it to work on a div layer who's width isn't fixed.EDIT: oh yeah It has to work in all browsers too...


kobra500

HAHA this is a first Alex needs help with a code... I'm only laughing mind cos I'm jealous and I too would not be able to do this but I get my laughs anyway (quoted since does not deserve credits and could be considered spam)


galexcd

HAHA this is a first Alex needs help with a code...

Ehh... not exactly the first time. You should read some of my early topics when I was a little noob programmer and didn't really know anything. But anyway, I wouldn't really consider css as a programming language, or even as "code". Its more like "annoying text that makes your page not suck as much when you can get it to work but otherwise is just a pain in the..." well you get the idea.

kobra500

I agree... if it were efficient I would sit down and use tables since they're easy but problem is you cant always do what you need to do!


sonesay

You need an expandable div that is set to limit of being 100pixels from the top of the window and goes all the way to the bottom? Sorry trying to make sure I understand correctly


galexcd

You need an expandable div that is set to limit of being 100pixels from the top of the window and goes all the way to the bottom? Sorry trying to make sure I understand correctly

Yes thats exactly what I need. If you can make me something that works in all browsers to do this then you can have my 20 credits.

coolcat50

This sounds like you need some Javascript to insert dynamic CSS into the page and use AJAX to reload the page whenever the window size is changed. Or CSS I believe can do the trick. I know that you can stack another 100px div on top as a filler and have the other with a height of the rest of the window.


sonesay

This sounds like a challenge but I don't think I will be attempting this anytime soon. I've come across articles dealing with using JS to dynamically alter layouts on window resizing by the user but never looked into it. There would be no need for AJAX as JS alone should be enough since its all happening on the client side. If anyone comes up with a solution let us see!


coolcat50

Well, here is a small code that could do it. I am not sure if it works in all browsers. Check it. It uses a margin to lower it by 100px.

CSS:

* { padding: 0 0 0 0; }//Must set padding to 0 for Opera.body {//Set top margin to be 100pxmargin-top:100px;//Set rest of margins to be 0margin-left:0px;margin-right:0px;margin-bottom:0px;}.lowereddiv {//Set height to fill rest of pageheight:100%}


jlhaslip

I don't have time to work with the code, but check this out:

http://forums.xisto.com/no_longer_exists/


galexcd

Nevermind I can see now this is impossible without using JSS. I'm just going to use tables. Thats right. You guys heard me. Tables can do more than your stupid standards compliant div + css. Css and div layers are inferior.


jlhaslip

Nevermind I can see now this is impossible without using JSS. I'm just going to use tables. Thats right. You guys heard me. Tables can do more than your stupid standards compliant div + css. Css and div layers are inferior.

I wouldn't say that. The biggest hurdle is cross-browser compatibility on this one. IE's failure to recognize min-height, for instance.Might need to wait for CSS 3.0 for this issue to become a possibility. Using equations to calculate positioning and height/width, etc.

~Nick[;

<style>#div{position:absolute;top:100px;bottom:0px;width:auto;left:0px;overflow:auto;}</style>
Try it now.

mikeyboy63

<style>#div{position:absolute;top:100px;bottom:0px;width:auto;left:0px;}</style>
That good?

Nick's code works in both IE and FF. I don't have Opera. By giving it a bg color I can see that it works.

EDIT: It doesn't work if the content is longer than the screen length, i.e. if user needs to scroll down...interesting......this is the type of problem that I can become obsessed with......I----------must----------resist------------obsessing---------------

galexcd

<style>#div{position:absolute;top:100px;bottom:0px;width:auto;left:0px;}</style>
That good?

Yes that was my first attempt. I thought I found it and wouldn't have to post this on trap, but ran into the problem that mikeyboy discovered in his edit.

iGuest

css layer

Div Layer Help

 

Css layer examples / properties and layer attributes

http://forums.xisto.com/no_longer_exists/

 

-reply by sezer