webForumDet fria alternativet

Css koden gäller inte när jag anropar en klass.

PHP

7 svar · 1 184 visningar · startad av supercajo

Medlem sedan jan. 2005114 inlägg
Frågan#1

Hej!

Håller på med oop för närvarande och stötte på ett problem. När jag anropade en class med en funktion upphörde reglerna för CSS'en att gälla.

Vad har jag missat?

index.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php include('include.php'); ?>	
<html>
<head>
	<link rel="stylesheet" type="text/css" href="style.css">
	<title>Ipsum utbildningar - Sveriges utbildningsföretag för medborgarna</title>
</head>
<body>
	<div id="container">
		
		<div id="leftcol">
		test
		</div><!--Closing the leftcol div-->
		
		
		<div id="rightcol">
		<?php
		$meny = new meny();
		$meny->test();
		?>
		</div><!--Closing the rightcol div-->
		
		<div id="maincol">
		test
		</div> <!--Closing the maincol-->
	</div> <!--Closing the container div-->

</body>
</html>

Style.css:

body{
padding: 0;
margin: 0;
top: 0px;
font-family: Arial;
color: #535253;
}
* {
margin:0;padding:0
}
body h1{
color: #535253;
font-family: Arial;
font-size: 18px;

 }
 #container{
 width: 980px;
 border-right: 2px solid #535253;
 margin: 0 auto;
 
 }
 
 #leftcol{
 width: 240px;
 margin-left:50px;
 float: left; 
 }
 
 #rightcol{
 
width: 240px;
margin-right: 50px;
float: right;
 }
 
 #maincol
 {
 width: 440px;
 margin-left: 30px;
 margin-right: 30px;
 margin-bottom: 20px;
 
 }

include.php

<?php
class meny{
	
	function test()
	{
		echo'hej';
	}

}

?>
Medlem sedan juli 2003555 inlägg
#2

Hm, hur har du tänkt att webbläsaren ska ändra sin csstolkning pga php, och hur ska webbläsaren komma åt din phpkod? Ignorera php, titta på vad webbläsaren ser för något istället

Medlem sedan jan. 2005114 inlägg
#3

Hur menar du då ungefär :)

Medlem sedan juli 2003555 inlägg
#4

Du tar visa källa i webbläsaren och tittar på den verkliga html-koden. Utgå därifrån. Felet inträffar ju i webbläsaren, inte på servern, och att det då finns php (eller asp.net eller något annat serverside-språk) inblandat är ganska irrelevant

Medlem sedan aug. 20068 090 inlägg
#5

Vet inte men jag tror ni båda (TS och onkelborg) missförstår varandra, eller så gör jag det.

Tror TS ska formulera om frågan. Slutar CSS att funka? Helt och hållet eller bara några stilar?

Medlem sedan juli 2003555 inlägg
#6

Problemet är att det finns ett fokus på att php på något sätt skulle ändra csstolkningen i webbläsaren, vilket är helt felaktigt. Någonting annat måste ha ändrats, och rätt ände att börja i är att kolla vad för något som skickats till webbläsaren, inte att visa koden som exekveras på servern..

Medlem sedan jan. 2005114 inlägg
#7

Ska förtydliga...:)

Så här var det. Jag hade ett visst utseende på sidan innan jag la till anrop till min klass som ligger under include.php.

Först hade jag en sida som såg ut på det sätt jag ville. Marginalen från toppen var 0 px.
När jag la till php-koden ändrades tolkningen av CSS-koden från 0 px till standardmarginalen som är på ca 10px. Varför ändringen skedde när jag la till php-koden vet jag inte. Men är det inte rätt att anta att ändringen skedde på grund av att jag la till php-koden när tolkningen av min css-källa blev annorlunda i samma skede?

Efter felsökning som gjordes så blev marginalen på det sätt jag ville när jag tog bort include-koden. Oavsett om jag lägger include'en före eller efter angiven css så ändras top-marginalen

Medlem sedan aug. 20068 090 inlägg
#8

supercajo skrev:

Ska förtydliga...:)

Så här var det. Jag hade ett visst utseende på sidan innan jag la till anrop till min klass som ligger under include.php.

Först hade jag en sida som såg ut på det sätt jag ville. Marginalen från toppen var 0 px.
När jag la till php-koden ändrades tolkningen av CSS-koden från 0 px till standardmarginalen som är på ca 10px. Varför ändringen skedde när jag la till php-koden vet jag inte. Men är det inte rätt att anta att ändringen skedde på grund av att jag la till php-koden när tolkningen av min css-källa blev annorlunda i samma skede?

Efter felsökning som gjordes så blev marginalen på det sätt jag ville när jag tog bort include-koden. Oavsett om jag lägger include'en före eller efter angiven css så ändras top-marginalen

"Marginalen från toppen var 0 px. ". Vilken marginal? body? html? #container? #leftcol? #rightcol? #maincol?

Och hur vet du att det är marginal och inte padding eller annat?

Som onkelborg föreslår: Dra upp sidan (med din include laddad förstås) i en webbläsare. Ta "view source" och kopiera all kod. Skapa ett nytt dokument, klistra in koden du kopierade och spara i root (eller var du nu har sidan). Öppna i en webbläsare. Funkar css? Om inte kolla igenom dokumentet och se var felet ligger.

264 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)