Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

2 Div-elementen naar rechts verplaatsen lukt niet

Pagina: 1
Acties:
  • 104 views sinds 30-01-2008
  • Reageer

  • Disksoft
  • Registratie: September 2003
  • Laatst online: 27-10 06:25
Hallo,

Ik ben bezig met een website voor onze motorclub maar nu krijg ik het niet voor elkaar om 4 extra divjes toe te voegen aan de website om een fade effect toe te voegen aan de zijkant.

Ik wil aan weerskanten een 2 divjes erbij hebben die 50% hoog zijn van de totale hoogte. De layout zelf is 100% hoog.
Zie de afbeelding hoe ik het wil hebben
Afbeeldingslocatie: http://www.motorclubzoetermeer.nl/div-layout.gif

Wat ik uiteindelijk wil bereiken is het volgende zie deze afbeelding
Je ziet daar aan de zijkant van het layout een border van 1px die overloopt in het layout. Dus in die divs van 1px wil ik de overloop png plaatsen.

Ik heb nu het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta name="author" content="">

    <title></title>

    <style type="text/css">
        /* Reset.css */
        html, body, div, span,
        applet, object, iframe,
        h1, h2, h3, h4, h5, h6, p, blockquote, pre,
        a, abbr, acronym, address, big, cite, code,
        del, dfn, em, font, img, ins, kbd, q, s, samp,
        small, strike, strong, sub, sup, tt, var,
        dd, dl, dt, li, ol, ul,
        fieldset, form, label, legend,
        table, caption, tbody, tfoot, thead, tr, th, td {
            margin: 0;
            padding: 0;
            border: 0;
            font-weight: inherit;
            font-style: inherit;
            font-size: 100%;
            line-height: 1;
            font-family: inherit;
            text-align: left;
            vertical-align: baseline;
        }
        a img, :link img, :visited img {
            border: 0;
        }
        table {
            border-collapse: collapse;
            border-spacing: 0;
        }
        ol, ul {
            list-style: none;
        }
        q:before, q:after,
        blockquote:before, blockquote:after {
            content: "";
        }
        body, html {
            height: 100%;
            width: 100%;
        }
        /* Reset.css */
        
        body {
            background: #2a3e73 url(background.jpg) repeat-x top center;
        }
        
        #container {
            width: 900px;
            margin: 0 auto;
            text-align: left;

            position: relative;
            min-height: 100%;
            height: auto !important;

        }
        #header{
            height:200px;
        }

        #footer {
            border-top: 1px solid #53618e;
            
            position: absolute;
            bottom: 0;
            width: 100%;
            background: #152652;
            height: 35px;
            font-family: Arial;
            font-size:12px;
            font-weight:bold;
            text-align:center;
            color: #ffffff;
            line-height: 35px;
        }
        
        #borderleft_header {
            width: 1px;
            margin: 0 auto;
            
            
            
            position: absolute;
            min-height: 50%;
            height: auto !important;
            
            background: url(overloop_header.png) no-repeat;
        }

        #borderright_header {
            width: 1px;
            margin: 0 auto;
            
            
            
            position: absolute;
            min-height: 50%;
            height: auto !important;
            
            background: url(overloop_header.png) no-repeat;
        }
        
        #borderleft_footer {
            width: 1px;
            margin: 0 auto;
            bottom: 0;
            
            
            
            position: absolute;
            min-height: 50%;
            height: auto !important;
            
            background: url(overloop_footer.png) no-repeat 0% 100%;
        }
        
        
        #borderright_footer {
            width: 1px;
            margin: 0 auto;
            bottom: 0;
            
            position: absolute;
            min-height: 50%;
            height: auto !important;
            
            background: url(overloop_footer.png) no-repeat 0% 100%;
        }

    </style>
</head>

<body>

<div id="container">


    <div id="borderleft_header"></div>
    <div id="borderright_header"></div>


    <div id="header">Header</div>

    <div id="content">Menu + Content</div>
    
    <div id="footer">Footer</div>
    

    <div id="borderleft_footer"></div>
    <div id="borderright_footer"></div>

</div>

</body>
</html>


Het is me gelukt om het aan de linkerkant voor elkaar te krijgen maar het lukt mij niet om dit effect ook rechts van het layout toe te passen. Ik heb het geprobeert met float left en right maar dit heeft geen effect. Het layout heeft geen vaste breedte dus het gaat niet lukken met een achtergrond afbeelding.

Wat doe ik fout? en hoe kan ik het oplossen? Of wie heeft er misschien een betere oplossing?

Alvast bedankt

  • remcotolsma
  • Registratie: December 2005
  • Laatst online: 09-10 21:36
Disksoft schreef op zaterdag 05 januari 2008 @ 13:59:
...

#container {
width: 900px;
margin: 0 auto;
text-align: left;

position: relative;
min-height: 100%;
height: auto !important;

}

...

Het layout heeft geen vaste breedte dus het gaat niet lukken met een achtergrond afbeelding.

...
De lay-out heeft min of meer dus wel een vaste breedte. Je kunt de container waarschijnlijk links en rechts wel padding geven. Als je dan een geschikte achtergrond afbeelding maakt van 902 pixels bij ~250 pixels (hoogte is natuurlijk afhankelijk van het fade effect).

Cascading Stylesheet:
1
2
3
4
5
#container {
  background: #FFF url("fade-top.gif") no-repeat;

  padding: 0 1px;
}


Op die manier heb je het fade effect aan de bovenkant al gerealiseerd. Om aan de onderkant van de website het zelfde te realiseren kun je waarschijnlijk wel een wrapper element om de <div> met de id 'container' plaatsen.

  • Disksoft
  • Registratie: September 2003
  • Laatst online: 27-10 06:25
Die 900 heb ik nu even ingesteld maar hij wordt straks tussen de 700 en 1000px in.
Dan kan het niet op die manier :S

  • Joopieboy
  • Registratie: Mei 2006
  • Laatst online: 29-12-2020

Joopieboy

No smoke, no poke

Huh, hoe bedoel je dat? :?


En idd, met een wrapper element is dit best te doen. :)

Het leven is te kort om geduld te hebben!


  • Disksoft
  • Registratie: September 2003
  • Laatst online: 27-10 06:25
Hoe moet ik dat aanpakken dan? Ik ben niet zo heel erg thuis in het div elementen gedoe maar ik wil dit als basis hebben van de website, als ik dit wil bereiken met tabelen dan heb ik al 40 á 50 regels code om het effect voor elkaar te krijgen en met css is het aanzienlijk korter.

Want is een wrapper element een div element wat 2px groter is dan de container? Maar hoe doe ik dat dan als de breedte variabel is?

  • remcotolsma
  • Registratie: December 2005
  • Laatst online: 09-10 21:36
Je kunt ook zo iets proberen:


HTML:
1
2
3
4
5
6
7
8
<div id="container">
  <div id="extra_1"></div>
  <div id="extra_2"></div>
  <div id="extra_3"></div>
  <div id="extra_4"></div>

  ...
</div>


Deze 4 <div> elementen kun je gebruiken om in de hoeken een fade effect weer te geven. Je zult de elementen dus met behulp van CSS moeten vormgeven.


Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#container {
  position: relative;

  ...
}

#extra_1, #extra_2, #extra_3, #extra_4 {
  position: absolute;

  width: 1px;
}

#extra_1 {
  background: url("fade-top.gif") no-repeat;

  top: 0;
  bottom: 50%;
  left: 0;
}

#extra_2 {
  background: url("fade-top.gif") no-repeat;

  top: 0;
  bottom: 50%;
  right: 0;
}

#extra_3 {
  background: url("fade-bottom.gif") no-repeat;

  bottom: 0;
  top: 50%;
  left: 0;
}

#extra_4 {
  background: url("fade-bottom.gif") no-repeat;

  bottom: 0;
  top: 50%;
  right: 0;
}


De 4 extra <div> elementen worden absoluut gepositioneerd ten opzichte van de container <div>. Dit omdat we de container <div> relatief gepositioneerd hebben.

Ik durf zo niet te zeggen of dit wel helemaal lekker gaat werken, maar je kunt het altijd proberen.

  • Disksoft
  • Registratie: September 2003
  • Laatst online: 27-10 06:25
Ik heb ondertussen de oplossing gevonden.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta name="author" content="">

    <title></title>

    <style type="text/css">
        body {
            background: #2a3e73 url(background.jpg) repeat-x top center;
        }
        
        #container {
            width: 900px;
            margin: 0 auto;
            text-align: left;
            position: relative;
            
            height:auto !important; /* real browsers */
            height:100%; /* IE6: treaded as min-height*/
            min-height:100%; /* real browsers */
        }
        
        #header{
            height:180px;
            background: #2a3e73 url(header.png) repeat-x top center;
            _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='header.png', sizingMethod='scale');
        }
        
        #content {

            height:auto !important; /* real browsers */
            height:100%; /* IE6: treaded as min-height*/
            min-height:100%; /* real browsers */
        }
      
        #footer {
            border-top: 1px solid #53618e;
            position: absolute;
            bottom: 0;
            width: 898px;
            margin: 0 auto;
            background: #152652;
            height: 35px;
            font-family: Arial;
            font-size:12px;
            font-weight:bold;
            text-align:center;
            color: #ffffff;
            line-height: 35px;
            border-left: 1px solid #53618e;
            border-right: 1px solid #53618e;
        }
        
        #tl { 
        position: absolute; top: 0; left: 0; width: 1px; height: 500px; background: url(gfx/overloop_header.png) top left no-repeat; 
        _background: none;
        _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gfx/overloop_header.png', sizingMethod='scale');
        }
        #tr { 
        position: absolute; top: 0; right: 0; width: 1px; height: 500px; background: url(gfx/overloop_header.png) top left no-repeat; 
        _background: none;
        _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gfx/overloop_header.png', sizingMethod='scale');
        }

        #bl { 
        float: left; width: 1px; height: 250px; background: url(gfx/overloop_footer.png) top left ; 
        _background: none;
        _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gfx/overloop_footer.png', sizingMethod='scale');
        }
        #br { 
        float: right; width: 1px; height: 250px; background: url(gfx/overloop_footer.png) top left no-repeat; 
        _background: none;
        _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gfx/overloop_footer.png', sizingMethod='scale');
        }
        
        #ft { position: absolute; bottom: 0; left: 0; width: 100%; height: 250px;}
        
    </style>
    
</head>

<body>

<div id="container">
    <div id="ft">
        <div id="bl"></div>
        <div id="br"></div>
    </div>
    <div id="tl"></div>
    <div id="tr"></div>
    
    <div id="header">Header</div>
    
    <div id="content">Content</div>

    <div id="footer">Footer</div>
    


</div>

</body>
</html>

  • Boelie-Boelie
  • Registratie: November 2004
  • Laatst online: 26-09-2020
Ik zou voor die IE-hacks conditional comments gebruiken.. Het IE-team zelf raadt zulke hacks ook af (!important, _filter, etc.).

Cogito ergo dubito

Pagina: 1