Div neemt geen lengte aan

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Albert de Wit

Albert de Wit

28/06/2012 12:14:25
Quote Anchor link
Ik weet niet of de titel het goed uitlegt, maar ik zit met het volgende probleem.

Ik heb een Div'je die een min-width van 20px heeft. Hij moet dus aanpassen aan de lengte van de text die erin komt. Alleen word hij telkens zo lang als de body het toelaat. Als ik een maxlength meegeeft gaat hij tot die maxlength maar zonder die gaat hij telkens door. Wat gaat er hier verkeerd? Heeft iemand een idee?

Hier de code van de CSS
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.table_title{
margin-left:40px;
padding:5 5 5 5;
font-family:century gothic;
font-size:13px;
font-weight:bold;
color:#0B4C5F;
background-color:#D9F2FF;
min-width:20px;
box-shadow: inset 1px 0 0
white,inset -1px 0 0
white,inset 0 1px 0
white,inset 0 -1px 0
white,0 1px 10px
rgba(0, 0, 0, 0.25);
}
 
PHP hulp

PHP hulp

25/11/2024 03:18:23
 
Kris Peeters

Kris Peeters

28/06/2012 12:30:23
Quote Anchor link
De width van een div wordt inderdaad niet aangepast op basis van de lengte van de tekst er in. De height daarentegen wel.

Voor zover ik weet, is hier geen simpele oplossing voor. Misschien eens wat uitproberen met float: left; of zo. Ik kan niet direct een oplossing verzinnen
 
Albert de Wit

Albert de Wit

28/06/2012 12:43:58
Quote Anchor link
ow... past een <p> zich wel aan de lengte van de text aan?
 
B Polak

B Polak

28/06/2012 14:06:41
Quote Anchor link
Dan zou je CSS moeten mixen met PHP.

Pak de tekstlengte
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $textlength = strlen($text); ?>


En dan in je css (voorbeeldje)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
.mydiv {
width: <?php echo $textlength; ?>px;
}


Uiteraard is dit niet exact, ligt eraan de tekstgrootte etc.

$textlength kun je dan makkelijk manipuleren met een sommetje door een percentage af of op te doen. Dan zal het vanzelf goed kloppen.
 
Albert de Wit

Albert de Wit

28/06/2012 15:05:56
Quote Anchor link
neej dat word ook niks helaas... toch bedankt voor jullie moeite! ik heb het gewoon maar een maxlength meegegeven
 
Reshad F

Reshad F

28/06/2012 15:21:04
Quote Anchor link
@polak php inje css gebruiken?
 
Ozzie PHP

Ozzie PHP

28/06/2012 15:25:33
Quote Anchor link
@Albert: Ik snap niet wat je bedoelt. Een min-width van 20px geeft aan dat de div minimaal 20px moet zijn. Dan is het toch logisch dat ie doorloopt? Ik snap je even niet.
 
Albert de Wit

Albert de Wit

28/06/2012 15:26:26
Quote Anchor link
uhm...

als je een minimale lengte geeft dan gaat hij zoveel mogelijk in die richting toch?
 
Bart V B

Bart V B

28/06/2012 15:30:12
Quote Anchor link
Quote:
@polak php inje css gebruiken?


Het heeft niet mijn voorkeur maar waarom niet?
i.p.v. style.css maak je ervan style.php.
Bovenin zet je:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php header("Content-type: text/css"); ?>
.mydiv {
width: <?php echo $textlength; ?>px;
}


Andere optie is om een .htaccess te gebruiken met daarin:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
AddType application/x-httpd-php .css
 
Ibrahim A

Ibrahim A

28/06/2012 15:40:48
Quote Anchor link
float: left is de oplossing:
http://jsfiddle.net/yqUEf/
 
Ozzie PHP

Ozzie PHP

28/06/2012 15:43:24
Quote Anchor link
Albert de Wit op 28/06/2012 15:26:26:
uhm...

als je een minimale lengte geeft dan gaat hij zoveel mogelijk in die richting toch?

Een min-width van 20px betekent dat je div MINIMAAL 20 pixels breed is, maar hij kan dus ook veeeel groter worden. Snap je?
 
Albert de Wit

Albert de Wit

28/06/2012 16:02:32
Quote Anchor link
oke, snap het ;)
 
Ozzie PHP

Ozzie PHP

28/06/2012 16:05:46
Quote Anchor link
mooi zo ;)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.