Avatar billede horus Nybegynder
22. december 2001 - 07:54 Der er 33 kommentarer og
1 løsning

CSS og rammer...

Hejsa,

Kan man på nogen måde definere CSS styles på en rammeside og/eller en side med iframes, og få dem til at have virkning på de dertilhørende source sider ?

Horus

Avatar billede steen_hansen Forsker
22. december 2001 - 08:07 #1
Du mener, om du kan sætte denne her ind et eller andet sted, så det slår igennem på alle dine sider i et frameset?

<link rel=\"stylesheet\" type=\"text/css\" href=\"/indhold/includes/stylesheet.css\">
Avatar billede horus Nybegynder
22. december 2001 - 08:16 #2
ja - går ovenstående det ?

Horus
Avatar billede steen_hansen Forsker
22. december 2001 - 08:16 #3
Jeg har lige prøvet at sætte denne linie ind i rammesættet, og det virker til dels: Baggrunden på den side, som bliver vist til folk, der har en browser, der ikke understøtter rammer, får vist baggrundsfarven fint. Men jeg kan ikke benytte <span class=\"tekst\">Tekst</span>. Det får ingen effekt.

Da jeg selv arbejdede i rammer, benyttede jeg altid link relation på samtlige dokumenter. Der er deværre nok ingen vej udenom :o(
Avatar billede horus Nybegynder
22. december 2001 - 08:16 #4
gør ikke går :-)
Avatar billede steen_hansen Forsker
22. december 2001 - 08:18 #5
På iframes vil det dog virke
Avatar billede steen_hansen Forsker
22. december 2001 - 08:19 #6
Nej, du skal sætte <link rel=\"stylesheet\" type=\"text/css\" href=\"indhold/includes/stylesheet.css\"> ind på alle sider (ved hvad du mener)
Avatar billede steen_hansen Forsker
22. december 2001 - 08:21 #7
Men det er jo bare at kopiere linien ind mellem <head></head> :o)
Avatar billede steen_hansen Forsker
22. december 2001 - 08:29 #8
Du kan også lave en inc_header.asp (for eksempel), som indeholder alt det relevante, der skal stå mellem <head></head>:

<META HTTP-EQUIV=\"Expires\" CONTENT=\"Fri, Jun 12 1981 08:20:00 GMT\">
<META HTTP-EQUIV=\"Pragma\" CONTENT=\"no-cache\">
<META HTTP-EQUIV=\"Cache-Control\" CONTENT=\"no-store\">
<script language=JavaScript>
<!--
var ugeDag = new  Array (\"Søndag \",\"Mandag \",\"Tirsdag \",\"Onsdag \",\"Torsdag \",\"Fredag \",\"Lørdag \")
var maaned = new Array (\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\")
var nu = new Date
//-->
</script>
<link rel=\"stylesheet\" type=\"text/css\" href=\"/indhold/includes/NavnPaaDitStyleSheet.css\">

I dine dokumenter skal du så have tilføjet <!--#include virtual=\"/stien/til/dit/stylesheet.asp\"-->

Men det forudsætter naturligvis, at du har mulighed for at benytte ASP.
Avatar billede steen_hansen Forsker
22. december 2001 - 08:30 #9
Sludder, der skulle stå:

<!--#include virtual=\"/stien/til/din/inc_header.asp\"-->
Avatar billede horus Nybegynder
22. december 2001 - 09:36 #10
Alt det kan jeg godt forstå steen men så skal jeg jo lave en eller anden tilføjelse til ALLE sider - jeg er ude efter at kunne nøjes med at lave det til framesiden eller iframesiden....

hvor skal jeg indsætte det hvis det skal virke med iframe - det er egentlig vigtigst at det kan virke med iframes - pyt med de \"almindelige\" frames...

Jeg har sat følgende ind i head sektionen på den side hvor jeg har en iframe - men den underliggende side i iframen blive ikker formateret...

<link rel=\"stylesheet\" type=\"text/css\" href=\"stylesheets/stylesheet.css\">

min css fil indeholder følgende:

BODY {
    SCROLLBAR-FACE-COLOR: #3C6CBD; 
    SCROLLBAR-HIGHLIGHT-COLOR: #ECECEC;
    SCROLLBAR-SHADOW-COLOR: #B1B1B1; 
    SCROLLBAR-3DLIGHT-COLOR: #6D6D6D;
    SCROLLBAR-ARROW-COLOR: #FFFFFF;
    SCROLLBAR-TRACK-COLOR: #C0C0C0;
    SCROLLBAR-DARKSHADOW-COLOR: #565047
    }

<!--
    A:link {color:#3C6CBD;text-decoration: none; }
    A:visited {color:#3C6CBD; text-decoration: none; } 
    A:active {color:#3C6CBD; text-decoration: none; }
    A:hover {color:#3C6CBD; text-decoration: underline; }
-->


Jeg giver gerne flere point hvis det kan komme til at fungere...

Horus

Avatar billede jakoba Nybegynder
22. december 2001 - 09:38 #11
Nej der er inegen lovlig mulighed for for at definere fælles CSS i frameset filen.

Rammerne i et frameset er hvert sit isolerede vindue med hver sin htmlfil i.

Men den SSI include linie steen giver kan også bruges på mangee servere der ikke har asp, blot du giver dine html-filer endelsen .shtml

mvh JakobA
Avatar billede steen_hansen Forsker
22. december 2001 - 09:49 #12
Lige en forenkling:

A:hover
{
    COLOR: #3C6CBD;
    TEXT-DECORATION: underline;
}

- udretter det samme som:

<!--
    A:link {color:#3C6CBD;text-decoration: none; }
    A:visited {color:#3C6CBD; text-decoration: none; } 
    A:active {color:#3C6CBD; text-decoration: none; }
    A:hover {color:#3C6CBD; text-decoration: underline; }
-->

Der er desværre kun den ene vej: Lav en <link rel=\"stylesheet\" type=\"text/css\" href=\"/indhold/includes/stylesheet.css\"> på alle dine sider.

NB! Hvis du i dine stiangivelser starter med \"...href=/sti.../.../\" istedet for \"...href=sti.../.../\" vil det kunne lette din navigering.
Avatar billede steen_hansen Forsker
22. december 2001 - 09:57 #13
Det sætter nogle dumme begrænsninger på mange områder, når du laver dit site i frames. Har du delt dit site op i hovedområder, skal du lave et frameset for hvert område etc. Hvorfor ikke benytte en enkelt side med en tabel istedet? Så ville du slippe for mange omstændige rutiner. Og du ville få helt anderledes kontrol over design, standardisering m.m. Nu skal du tilrette alle framesets, hvis du laver ændringer.
Avatar billede horus Nybegynder
22. december 2001 - 10:03 #14
kan man da i en tabel definere en ekstern html side, der skal vises på samme måde som en source i en frame eller iframe ?

Horus
Avatar billede steen_hansen Forsker
22. december 2001 - 10:06 #15
Nej, du kan ikke hive f.eks. http://www.eksperten.dk/spm/149615 ind i en iframe på din egen side og formattere den med dit stylesheet. Men hvis du har fået lov, kan du kopiere indholdet over i et dokument, som så vil blive formatteret i henholdtil dit stylesheet.
Avatar billede horus Nybegynder
22. december 2001 - 10:09 #16
så tror jeg ikke jeg kan bruge tabeller - så må jeg jo finde en smart metode at få css definitionen ind i mine sider - tak for hjælpen ellers.

du skrev tidliger at \"på iframes vil det dog virke\" - var det lidt for hastig en konklusion ? Jeg kan i hvert fald ikke få det til det, og det lyder nu på dig som om at det ikke kan lade sig gøre...
Avatar billede steen_hansen Forsker
22. december 2001 - 10:10 #17
Hvis du f.eks. har dette stående i dit stylesheet:

.menutekst
{
    COLOR: black;
    FONT-FAMILY: Verdana, Helvetica, Arial;
    FONT-SIZE: 10px
}

- kan du i en tabel skrive:

<table border=\"0\" cellpadding=\"6\" cellspacing=\"0\" width=\"745\" class=\"menutekst\"> ....
Så vil din tekst i denne tabel blive vist i Verdana, sort, 10 pixels.

- eller du kan benytte <span class=\"menutekst>Min tekst</span>
Avatar billede steen_hansen Forsker
22. december 2001 - 10:12 #18
Hvis du ligger et link direkte til en ekstern side ind i din iframe, kan det ikke lade sig gøre. Den vil så vise den side du henviser til inde i din iframe.
Men du kan godt formattere tekst i en iframe v.hj.a. stylesheets.
Avatar billede horus Nybegynder
22. december 2001 - 10:19 #19
jo, men steen - stadig skal CSS filen vel defieneres i header på hver side ?

Avatar billede steen_hansen Forsker
22. december 2001 - 10:20 #20
Du skal være opmærksom på, at du ikke bare kan lægge en side ind i en iframe. Det er at krænke ophavsrets-loven. Jeg kan forstå, at du på en nem måde vil have vist indholdet fra en anden side på din egen, og helst i dit eget design. Spørg vedkommende, og kopier teksten over. Det er vist nemmere.
Hvis du benytter en iframe, får du jo en ramme inde i dit dokument, Hvor ikke vise den i din egen ramme? Main, index - eller hvad du nu har valgt at kalde din ramme.
Avatar billede steen_hansen Forsker
22. december 2001 - 10:20 #21
Ja, det skal den. Men hvis du benytter tabeller, skal du kun gøre det på én side, fremfor i et helt frameset.
Avatar billede horus Nybegynder
22. december 2001 - 10:20 #22
jeg tror ikke jeg kommer videre - tak for hjælpen ellers steen.
Avatar billede horus Nybegynder
22. december 2001 - 10:24 #23
steen - der er ikke tale om at jeg vil vise andres sider på min egen - det er mine egne sider - fra samme site - jeg vil have vist i en iframe.

Og det må jeg jo gerne :-)

Lige så jeg er helt sikker.

Kan man via en tabel definere at når der bliver klikket på et link/menupunkt i én af tabellernes celler, så åbnes der en side i en anden af tabellens celler ?

Det tror jeg ikke - men jeg kan jo tage fejl...

Horus



Avatar billede steen_hansen Forsker
22. december 2001 - 10:24 #24
Det var så lidt. Jeg er ked af, at du ikke fik det ønskede resultat. Men prøv at opveje fordele/ulemper på en enkelt side kontra et frameset. Det er noget nemmere med includes. Indeholder dit abonement ASP?
Avatar billede horus Nybegynder
22. december 2001 - 10:27 #25
ja - det indeholder ASP - men jeg skal have lavet en side med en menu og hvor og en \"hovedsektion\" hvor alle andre sider skal vises.... kan du vise mig en side der gør dette udfra de principper du snakker om med asp og includes - for jeg kan ikke fatte det.... ?

Horus
Avatar billede steen_hansen Forsker
22. december 2001 - 10:36 #26
ASP har gjort mit liv meget nemmere. Især databaser.

Du har default.asp, hvor headeren måske ser sådan her ud:

<head>
<!--#include virtual=\"/indhold/includes/stylesheet.css\"-->
</head>

Det skal såmænd være standard på alle dine sider. Mellem dine <body></body> har du en tabel, hvori du inkluderer menu.asp, bottom.asp og hvad du nu ellers kunne tænke dig. Det skal være en slags skabelon for ALLE dine sider.
I menu.asp, som er et selvstændigt dokument, der bliver inkluderet, linker du til en side, der f.eks. hedder faq.asp. faq.asp har nøjagtigt de samme includes som default.asp, men et andet indhold. På denne side har du så Frequently Asked Questions inde i en tabel (som du også kan hente fra en database). Kan du se pointen?
Ydermere har du i ASP mulighed for at programmere kode, som du kan bruge som standarder. Hvis alle dine dokumenter indeholder disse standarder, behøver du kun at rette i ét dokument. Så slår det igennem på alle dine sider. I principet på samme måde som med stylesheets: Ændrer du \"Arial\" til \"Verdana\", vil alle dine sider vise Verdana istedet for Arial.
Avatar billede steen_hansen Forsker
22. december 2001 - 10:40 #27
Ok. Når du inkluderer en side, f.eks. menu.asp kunne den se sådan her ud:

<table border=\"0\" cellpadding=\"8\" cellspacing=\"0\" width=\"100%\">
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 1</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 2</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 3</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 4</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 5</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 6</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 7</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 8</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 9</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 10</a></td>
  </tr>
</table>

Dette er simpelthen indholdet af menu.asp
Avatar billede horus Nybegynder
22. december 2001 - 10:42 #28
ok
Avatar billede steen_hansen Forsker
22. december 2001 - 10:44 #29
Når du så i en tabel i default.asp inkludere menu.asp, vil indholdet fra menu.asp sat direkte der over, hvor du har bedt om at få indholdet inkluderet. Eksempel:

<html>

<head>
<title><%omrnavn%></title>
<!--#include virtual=\"/includes/inc_header.asp\"-->
</head>

<body>

<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"745\">
  <tr>
    <td colspan=\"3\"></td>
  </tr>
  <tr>
    <td width=\"180\"><!--#include virtual=\"/includes/menu.asp\"--></td>
    <td></td>
    <td width=\"180\"></td>
  </tr>
  <tr>
    <td colspan=\"3\"></td>
  </tr>
</table>

</body>

</html>
Avatar billede steen_hansen Forsker
22. december 2001 - 10:47 #30
Når du højrerklikker og vælger \"Vis kilde\", vil du få dette vist:

<html>

<head>
<title><%omrnavn%></title>
<!--#include virtual=\"/includes/inc_header.asp\"-->
</head>

<body>

<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"745\">
  <tr>
    <td colspan=\"3\"></td>
  </tr>
  <tr>
    <td width=\"180<table border=\"0\" cellpadding=\"8\" cellspacing=\"0\" width=\"100%\">
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 1</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 2</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 3</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 4</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 5</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 6</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 7</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 8</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 9</a></td>
  </tr>
  <tr>
    <td width=\"100%\"><a href=\"#\">Link 10</a></td>
  </tr>
</table>
</td>
    <td></td>
    <td width=\"180\"></td>
  </tr>
  <tr>
    <td colspan=\"3\"></td>
  </tr>
</table>

</body>

</html>

Brugeren vil ikke kunne se:

<!--#include virtual=\"/includes/menu.asp\"-->

Denne linie inkluderer simpelthen indholdet fra menu.asp, som vil blive vist - og benyttet.
Avatar billede steen_hansen Forsker
22. december 2001 - 10:49 #31
Brugeren vil også få vist indholdet af inc_header.asp istedet for:

<!--#include virtual=\"/includes/inc_header.asp\"-->

Heri kan du f.eks. have:

<link rel=\"stylesheet\" type=\"text/css\" href=\"/indhold/includes/stylesheet.css\">
Avatar billede steen_hansen Forsker
22. december 2001 - 10:50 #32
Husk at gemme dine dokumeter som navn.asp istedet for navn.htm eller navn.html
Avatar billede steen_hansen Forsker
22. december 2001 - 10:59 #33
Håber du kan bruge det og har mod på at komme igang. Kan du det ovenstående, har du fat i noget grundliggende, og herfra burde du kunne komme videre. Ellers må du spørge.

Fortsat god weekend :o)
Avatar billede steen_hansen Forsker
22. december 2001 - 12:14 #34
PS: Et vægtigt argument til at undgå frames:

Hvis en person ønsker at lave et \"dybt\" link til en artikel på din hjemmeside, hvordan vil det kunne lade sig gøre? Så skal han selv lave et frameset, eller du skal gøre det for ham. Det behøver du ikke, hvis du laver en enkelt side :o9
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester