02. juni 2001 - 17:45Der er
30 kommentarer og 2 løsninger
Manglende tekstformatering i tabel via stylesheet - kun fejl i i Netscape
Når jeg definerer typografier via stylesheets går det udmærket både i Internet Explorer (5.0) og i Netscape (4.08). Når der er tekst i en tabel med to celler er der dog problemer i Netscape. Der er tekst med hver sin formatering i de to celler. Teksten i begge celler vises i Netscape som om den er uformateret. Er der et trick til at klare dette problem? Eller opfører Netscape sig blot sådan?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Til prodic: Nu er der lige det problem, at jeg ikke har angivet formatering i CSS for tabellen. Og som jeg forstår dit svar, så er forudsætningen at min tabellen er fefineret i stylesheetet? Jeg har for et par dage siden haft et spørgsmål om hvordan man gør dette, se http://www.eksperten.dk/spm/77740 men fik ikke klaret problemet her, så jeg har arbejdet videre med en almindelig tabel, der altså er CSS-uafhængig, og det er i denne at problemet er. Men jeg vil da allerhelst lave tabelformateringen i stylesheetet. Hvis du ved hvor jeg kan læse hvordan man gør det, må deu gerne fortælle mig det.
Visto->Såfremt du ikke har defineret andre fonte/tingel tangel for din side og kun bruger CSS til formateringen, vil den pågældende side ikke gå ud fra andet end den kedelige standard opsætning af \"typografien\". Men prøv nebula\'s svar, for han har fat i den lange ende. Eller har i det mindste forstået hvad jeg forsøger at sige. :-) Du kan desuden også formatere tekst i dit .test - det er det du efterlyser, hvis jeg har forstået dig ret.
Jeg har læst jeres kommentarerer mange gange, men forstår ikke, og vil nu prøve at bygge en forståelse op fra grunden trin for trin. For det første forstår jeg ikke at I snakker om tags (<td>). Mig bekendt er det HTML, hvilket - igen mig bekendt - ikke bruges i CSS, der betjener sig af andre typer koder. Så jeg kan ikke få øje på metoden til at angive tabelegenskaber på stylesheet i CSS-sprog. Har jeg ret i at I snakker om HTML-kode på websiden eller hur?
du skal enten på selve siden angive css\'en, altså de styles der skal bruges, eller lave en ekstern css-side, og så linke til den i html-dokumentet.
TD = en celle i en tabel, og hvis du har css, så skal du linke i tabellen/Cellerne til det css der skal bruges.
Tror du er nødt til at poste det kode du bruger, men så er jeg bange for at du ikke bruger koderne, men \"blot\" laver det i grafisk mode i Frontpage. Har jeg ret?? Har du mulighed for at smide det på nettet evt, så man kan se koden og dermed hjælpe dig???
Husk forresten at du kan definere css\'en i den enkelte celle ved at højreklikke på den - egenskaber... Derinde er der typografi.
Jeg tog for givet, at CSS bruges som det annikadk kalder ekstern css side, som jeg linker alle websider til, så layout styres fra stylesheet. Det er det jeg gør. Jeg har lavet et par minimalistiske eksempel-sider, som demonstrerer problemet. Koderne følger herunder. Jeg vil prøve at smide det på nettet senere, hvis der til den tid er brug for det.
Til annikadk: Sådan! - Nu ses formateringen korrekt i tabellen også i Netscape. Det var faktisk tilstrækkeligt at fjerne mellemrummet mellem skriftstørrelsesangivelsen og pt. Til andre der evt. måtte lave dette i Frontpage kan jeg dermed sige: Når du har oprettet dine typografier i Frontpage, skal du bagefter manuelt rettet fx 18 pt til 18pt Nu er probelemt imidlertid at brødteksten ikke formateres! - Hvad gør jeg forkert?
Koden på eksempel-websiden er nu rettet til følgende:
normalt ville jeg lave brødteksten om i din css-fil, så den står som .body så vil slt der ikke er i tabeller rette sig efter den, uden at du skal angive class=\"\" omkring brødteksten
Jeg har brug for forskkelige typer formatering af brødtekst, fx en formatering for første afsnit, en for alt det andet. Så én brødtekstformatering er ikke tilstrækkelig. Så den løsning du angiver kan ikke bruges i mit tilfælde.
Det gør ingen forskel for mig om det hedder brødtekst eller noget andet, blot jeg kan formatere differentieret på min side. Jeg får en fornemmelse af at der er et eller andet jeg helt har misforstået. Det må da på en eller anden måde være enormt enkelt, at et afsnit på en side skal formateres med henvisning til én skrifttype defineret i stylesheet, et andet afsnit formateres med henvisning til en anden skrifttype defineret i stylesheet. Eller tager jeg helt fejl? Er det det der <p..... </p> der driller? Jeg har ikke helt forstået hvad de gør godt for, idet de jo automatisk indsættes af Frontpage, når jeg klikker mig frem til en brugerdefineret (dvs defineret af mig) formatering, uanset om det tilfældigvis er den jeg bruger til brødtekst eller til andet.
Jeg tror lige jeg opsumerer, hvad problemet er, hvis andre har lyst til at være med: Jeg har på en webside tekst i to celler i en tabel plus tekst udenfor tabellen. Den formatering, som websiderne burde hente fra stylesheet ses kun i Internet Explorer, ikke i Netscape. Når jeg ændrer angivelsen af skriftstørrelse i eksternt stylesheet fra fx 12 pt til 12pt (altså fjerner mellemrummet) ses formateringen korrekt i tabellens celler, men ikke udenfor. Hvad skal jeg gøre for at få teksten udenfor tabellerne vist korrekt?
til anikadk: Jeg skal nok lade være med at spørge om de p\'er :-) Selv har jeg en aversion mod at bruge tabeller mere end allerhøjst nødvendigt. Så jeg vil altså prøve om jeg kan få klaret problemet uden at skulle proppe alt i tabeller på ca. 75 web-sider.
I øvrigt får jeg et stærkt ønske om at Microsoft og Netscape kunne blive enige om en standard, så man blev fri for at bruge sin pinseferie på at få klaret et problem i forhold til den ene browser.
Jeg anvender som regel bare dette tag til min \"brød-tekst\" body { color: black; font-size: 10pt; font-family: Verdana }
OG det virker da...
Så bruger jeg denne : td { color: black; font-style: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-family: Verdana }
til mine tabeller. Og det virker såmænd også.
Har du prøvet med det?? Det virker både på MAC/PC og i IE/NS :-)
OG MS/Netscape er enige om en standard - IE følger den bare ikke så strengt som NetScape gør. :-) Standarden ser sådan her ud : http://www.w3.org/TR/REC-CSS2/ TUNG læsning.
Til prodic: Jeg har prøvet din sidste model af. Også her formateres cellerne i tabellen korrekt, mens teksten uden for cellerne ikke formateres. Og stadig kun i Netscape.Så der må være et eller andet jeg gør forkert både i din og min model. Jeg sender derfor koderne til det jeg har lavet i din model. Hvad er der galt her?
stylesheet:
body { color: black; font-size: 14pt; font-family: Verdana }
til prodic: jo, når jeg indsætter din linje virker det! Det var dermed dels svaret fra annikadk om intet mellemrum i skriftstørrelsesdefinition og dit sidste svar, der klarede problemet.
Det med at lave forskellige brødskrifts-underdefinitioner (fx med forskelligt indryk af første linje), som jeg tidligere efterlyste, klares på flg. måde: Hvis brødteksten i stylesheet defineres som
p { color: black; font-size: 14pt; font-family: Verdana }
så kan en underskriftstype defineres som fx
.p_med_indryk { text-indent: 20 }
Koderne på websiderne, hvor disse definitioner anvendes kan se sådan ud:
<p>Dette er så brødteksten</p>
<p class=\"p_med_indryk\">Og en anden formatering på baggrund af brødteksten</p>
Visto - det er OK. Jeg har fået 14.5 point, men du kan kun se at jeg har fået 14. Det er noget med afrundingsreglerne herinde. Du kan istedet for <p class=\"p_med_indryk\"> bare vælge at bruge Span til dine classes - lidt nemmere syntes jeg, men jeg bruger heller aldrig <P>-taget til noget...
Til prodic: Inden jeg går i gang med at implementere nogetsomhelst på mit websted, er jeg MEGET åben overfor gode, nemmerere og mere elegante løsninger. Og jeg forstår, at både du og annikadk ikke kan lide eller ikke bruger <p>. Jeg har brugt dem, fordi jeg ikke ved hvad jeg ellers skal gøre. Kan du (eller en anden) \"oversætte\" mine koder, som jeg nu har fået til at virke, til noget nemmere - dvs uden <p> forstår jeg - ? Hvordan skal jeg ændre stylesheet og websider i forhold til nuværende koder? (Jeg gør opmærksom på at point er uddelt.)
<p class=\"p_med_indryk\">Og en anden formatering på baggrund af brødteksten</p>
</body>
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.