BoyeMedlem sedan nov. 200781 inlägg Hej :)
Jag har ett ställe på min hemsida där jag vill ha användarnamn i stor font. Problemet är att stället inte är så brett, så när folk har för långa användarnamn ser det konstigt ut.
Kan man sätta en max-bredd (eller likande), och om personers namn är för långa minskas fontens storlek därefter? Ett annat förslag är kanske om man kan minska fonten ifall namnet går över ett visst antal bokstäver?
Som ni säkert hör är jag inte så duktig på koder ännu, men tips på hur jag gör eller var jag kan läsa om det hade varit mycket fint.
Mvh,
Boye
yadorMedlem sedan mars 2004455 inlägg <input type="text" maxlength="25" />
?
BoyeMedlem sedan nov. 200781 inlägg
yador skrev:
<input type="text" maxlength="25" />
?
Humm alltså vad gör denna koden? Jag testade lite men fick inte så mycket resultat.
Min kod ser för tillfället ut så här:
<font size='4px'>{$member['members_display_name']}</font size>
Som sagt skulle jag vilja att när medlemmens namn är över t ex 20 tecken så ändar sig font size till t ex 3 px istället.
yadorMedlem sedan mars 2004455 inlägg Om du använder dig av font taggen så bör du nog uppdatera dina HTML kunskaper. Dessutom så stänger du dessutom inte taggen rätt heller så misstänkar att du inte kan vanlig HTML. Ett tips är att du lånar hem en bok på biblioteket och läser om HTML på denna sidan http://www.w3schools.com/default.asp, webdesignskolan.se kan du dessutom också spana in.
BoyeMedlem sedan nov. 200781 inlägg Jo du har rätt, jag kan inte speciellt mycket om HTML. Men du menar att jag ska använda css, styles, span class instället för font tagg kanske? Men det kan väl inte spela så stor roll... de visar ju samma sak eller?
Tack för lästips :) Jag hade gärna läst en bok om HTML, men problemet är att jag inte har en enda minuts ledighet på mina dygn just nu. Och det är mest bara detta problemet med kodning jag behöver lösa just nu. Så ifall du kanske vet någonstans jag kan läsa mer specifikt om hur jag gör detta problemet? Jag har försökt söka på wedesignkolan och w3schools nu men är osäker på vad jag ska söka på.
Danne VMedlem sedan aug. 20068 090 inlägg Jag tror inte det går att lösa detta som du tänkt dig utan att tvingas gå till extremt krångliga, tidsödande och onödiga ytterligheter som t.ex. att generera en bildfil via php och GD Library - om ens då.
Antingen får du ändra layouten eller så får du sätta en maxgräns på antalet tecken som yador redan föreslagit.
Man slutade använda font-taggar för 6-7 år sen då dom blev ogiltiga enligt standard. En fontstorlek på 4 pixel är förresten omöjligt. Det skulle väl bara vara bokstaven "I" som skulle kunna vara läsbar. Många (de flesta?) webbläsare är förresten inställda på en minimistorlek på runt 9-10 pixlars fontstorlek i html, så din idé skulle i alla fall troligen gå åt pepparn...
Igen alltså: Ta yadors förslag om max antal tecken eller gör om layouten.
Lycka till!
BoyeMedlem sedan nov. 200781 inlägg Okej förstår :)
Men man kan inte annars göra så att det blir ".." om namnen är för långa? Har sett det på vissa ställen t ex "12345678901231123" skulle bli "123456.."
För mig ger den font-taggen (med 4px) fyra gånger storleken på texten. Vet inte om det beror på att jag satt " ' " runt istället för " " ".
Men känns konstigt att jag ska ändra massa krångliga koder när detta funkar fint, men aja, får väl försöka följa standarden då :)
Danne VMedlem sedan aug. 20068 090 inlägg Jodå, man kan göra en "truncate", dvs korta ner långa ord som du föreslår. Jag tror detta bara kan göra på server-sidan (dvs inte in användarens webbläsare med t.ex. javascript). Så då får du nog berätta om du över huvud taget använder nåt scriptspråk typ php eller asp. Sen får du väl fråga i rätt forum och visa upp källkoden till hela sidan.
Då kanske det går att lösa enklare.
Kan du ladda upp sidan och ge en länk så underlättar det en hel del.
Beträffande det där att du får 4 ggr större storlek om du har "4px" i en font-tagg så vet jag inte exakt vad det kan bero på. Kan vara som du skrev att du har ' istället för " och/eller att just den webbläsaren du använder tolkar koden till att font ska ha relativ storlek "4" enligt gamla html3,2 eller nåt. Men det är egentligen ganska ovidkommande eftersom det är fel från början ändå. Detta ska formateras med CSS.
BoyeMedlem sedan nov. 200781 inlägg Okej jag har lyckats ändra det till CSS istället nu :)
Okej låter fint med "truncate" ska kolla mer på det och eventuellt lägga upp koder, jag använder php.
Men tänkte bara fråga en annan sak först; går det istället att göra så att efter ett visst antal tecken i ett namn så istället bytas helt enkelt rad med dessa tecken? Jag har nämligen plats nedåt.
sätt en bestämd width på din "font"-tagg (detta bör du som sagt byta ut snarast):
<font style="width:25px;">hej på dig</font>
Den kommer bara att bryta rad vid mellanslag så om du har ett för långt ord så kommer den inte brytas förrän du gör ett mellanslag. Detta kan man fixa på Server sidan (i ditt fall PHP om jag inte missförstå koden).
BoyeMedlem sedan nov. 200781 inlägg Problemet är att det är användarnamn som oftast inte bytar rad... så jag måste få den att byta rad även om det är samma ord..
if(strlen($member['members_display_name']) > 20) {
$fontSize = "3px";
} else {
$fontSize = "10px";
}
echo "<font size=".$fontSize.">{$member['members_display_name']}</font size>";
Alternativt en funktion där du kapar namnet om det är längre än 20 tecken och kastar in ett br för att fortsätta på raden under.
BoyeMedlem sedan nov. 200781 inlägg
Fredde Mannen skrev:
if(strlen($member['members_display_name']) > 20) {
$fontSize = "3px";
} else {
$fontSize = "10px";
}
echo "<font size=".$fontSize.">{$member['members_display_name']}</font size>";
Alternativt en funktion där du kapar namnet om det är längre än 20 tecken och kastar in ett br för att fortsätta på raden under.
Härligt :) Men alltså...mitt forum bygger på php och jag vet vilken php-fil jag kan lägga koden i. Men sedan behöver jag en html kod för att lägga in det hela..eller kan jag lägga php koden mitt bland html?
stattinMedlem sedan jan. 2005713 inlägg bara du omsluter med php taggar så är det lungt.
Och eftersom det är javascript avdelningen så kan vi ju ta ett exempel i javascript också.
<script type="text/javascript">
namn = "<?php echo $member['members_display_name'] ?>"
if(namn.length > 10)
{ namn = namn.slice(0,10)+"..." }
//o.s.v
</script>
nått sånt..
fast det kanske är bättre och göra det direkt med php
Boye skrev:
Härligt :) Men alltså...mitt forum bygger på php och jag vet vilken php-fil jag kan lägga koden i. Men sedan behöver jag en html kod för att lägga in det hela..eller kan jag lägga php koden mitt bland html?
PHP-kod och HTML-kod går fint att blanda.
<div>
<?php
// some code here..
?>
</div>
Allt beror ju på hur filen är uppbyggd och vilket resultat man vill ha.
BoyeMedlem sedan nov. 200781 inlägg
Fredde Mannen skrev:
PHP-kod och HTML-kod går fint att blanda.
<div>
<?php
// some code here..
?>
</div>
Allt beror ju på hur filen är uppbyggd och vilket resultat man vill ha.
Såhär alltså:
<div>
<?php
if(strlen($member['members_display_name']) > 20) {
$fontSize = "3px";
} else {
$fontSize = "10px";
}
echo "<font size=".$fontSize.">{$member['members_display_name']}</font size>";
?>
</div>
Humm... med den koden vägrar webläsaren att visa min sida...
BoyeMedlem sedan nov. 200781 inlägg
stattin skrev:
bara du omsluter med php taggar så är det lungt.
Och eftersom det är javascript avdelningen så kan vi ju ta ett exempel i javascript också.
<script type="text/javascript">
namn = "<?php echo $member['members_display_name'] ?>"
if(namn.length > 10)
{ namn = namn.slice(0,10)+"..." }
//o.s.v
</script>
nått sånt..
fast det kanske är bättre och göra det direkt med php
Jag var tvungen till att lägga på "{" och "}" runt medlemsnamnet, dvs såhär:{$member['members_display_name']}. Annars ville inte webläsaren visa sidan. Men när den väl visade sidan med den nya koden så syns ingenting där medlemsnamnet borde vara...
stattinMedlem sedan jan. 2005713 inlägg du måste ha en konstig sida?
Mm.. du sa att det inte syns, du måste ju skriva ut det också.
<script type="text/javascript">
namn = "<?php echo {$member['members_display_name']} ?>"
[blue][B]langd = "10"
prickar = "..."[/B][/blue]
if(namn.length > langd)
{ namn = namn.slice(0,langd)+prickar }
[B]document.write('<font size="10px">'+namn+'</font>')[/B]
</script>
Ändra langd = "10" till önskad max längd på namnet. Och vill du inte ha tre prickar så ändra det med.
Om du nu klipper av namnet när det blir för långt så kan det ju inte spela någon roll om du har samma font size hela tiden.
Och lägg scriptet där namnet ska stå.
Sen är inte jag någon hejare på PHP jag heller så jag kan ju gjort fel jag med?
men som sagt det kanske fortfarande är bättre att köra det i PHP direkt, jag ville bara ta upp ett exempel i javascript, annars får vi ju snart flytta tråden.
BoyeMedlem sedan nov. 200781 inlägg Härligt! Tackar så mycket för hjälpen, detta löste sig nu :D
FuelMedlem sedan okt. 20001 285 inlägg <font> = Nej för tusan ... <span> = Ja
Min strl ej mindre än 10px, annars får du redesigna..
<script type="text/javascript"><!--//--><![CDATA[//><!--
namn = "<?php echo $member['members_display_name']; ?>";
langd = "10";
prickar = "...";
if(namn.length > langd)
{
namn = namn.slice(0,langd) + prickar;
}
document.write('<span class="smaller">' + namn + '</span>')
//--><!]]></script>