Php can sıkıcı üst marjı içerir

11 Cevap php

Ben PHP'nin kullanarak benim başlığını eklemeyi deneyin her zaman include bir üst kenar boşluğu var neden bilmiyorum. Firebug kullanarak kontrol ve üstüne bir 22px ofset marj var diyor. Herkes bu sorunla karşılaşan var mı? Top: 22px Ben bir CSS propiety olduğunu düşünüyorum. I = h1 stili yazmak bile Ama hiçbir şey onu değiştirebilirsiniz "top: 0px; margin-top: 0px;". Ben çözülecek asla bir php-CSS gizem olduğunu düşünüyorum.

edit: The only way to get rid of that top margin offset or whatever it is, is to add the follow properties to the H1: top: 0px; position: absolute;

Bu özellikleri gelecekte daha fazla sorun üretecektir?

is there a better way to solve this top margin-offset problem?

edit2: Ben kodlama ile ilgili bir sorun olduğunu düşünüyorum. Dahil dosya kodlama (header.html) ve indeks dosyası arasında bir çatışma var mı?

Benim endeksi şöyle:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>Untitled 1</title>
    <link rel="stylesheet" type="text/css" href="style2.css" />
</head>
<body>
    <div id="page-wrap">
    <?php include_once("header2.html"); ?>
    </div>
</body>
</html>

Bu CSS ile:

* {
    padding: 0px;
    margin: 0px;
}

Benim header.html (dahil ediliyor biri):

<h1>Header 2</h1>

Ve bu çıkış bulunuyor:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>Untitled 1</title>
    <link rel="stylesheet" type="text/css" href="style2.css" />
</head>
<body>
    <div id="page-wrap">
    <h1>Header 2</h1>	</div>
</body>
</html>
  • Allah onun üst kenar boşluğu (tüm tarayıcılarda) nereden geliyor ben gerçekten bilmiyorum o kadar basit ki.
  • Ben php içerir kullandığınızda sadece olur.
  • Kaynak kodu ben dahil php kullanmak Yüklü olduğu gibi aynı görünüyor.

11 Cevap

Bu oldukça garip, ama kopyalanan & Notepad + + içine çıktı HTML yapıştırılan ve garip bir karakter hemen önce h1 vardı. Not Defteri'ne yapıştırırken, h1 de h indisli edildi.

Eğer (o dahil veya PHP) sizin dahil HTML hatalı (veya PHP için beklenmeyen) bir karaktere sahip olabilir gibi Bu nedenle, bana görünüyor. Benim şüphe? Korkunç UTF-8 BOM. (Ben her zaman PHP ile uğraşırken ile sorun yaşadım) BOM ortadan kaldırmak için dahil HTML dosyasının kodlamasını değiştirmek için çalışın.

Edit: Evet. Sadece bir hex editör ile doğrulandı. Lütfen dahil HTML başında bir bayt sırası işareti var. Ben Kullandığınız editör bilmiyorum, ancak metin kodlama ayarlarını değiştirmek için seçenek olmalıdır.

this PHP hakkında daha fazla bilgi için bkz: & BOM.

Eğer web tarayıcınızdan "Kaynağı Görüntüle" seçeneğini gördüğünüz ne kopyalayarak gibi generated HTML, göndermek gerek. PHP çıktı hatalar ve uyarılar için yapılandırılmış, çünkü çoğu zaman, ben PHP oluşturulan HTML gizemli boş satırları gördüm. Bu o neden olsa bile biz outputted HTML görürseniz, biz daha-kolay sorunu teşhis edebilir.

iyi, senin php bulunuyor dahil ne bilmeden, bunu söylemek, ama bunun içinde hiçbir CSS olmadığından emin olmak zor. Ayrıca yüklüyorlar CSS bulundu ve yüklü oluyor emin olun. ben bu yüzden u yüklerken emin olabilirsiniz arka plan rengini veya görsel başka bir şey değiştirerek hata ayıklama.

Ben php ile ilgisi o kendini dahil olan bir şey bahse girerim. gibi daha önce bunu yapıyor dahil dosyasında bazı css olabilir, sözü, ama tarif ne gibi php şey görmedim.

i [geçici olarak ne olacağını görmek için kaldırmak] ve güncel html bildirimi etiketi kaldırmak ve bir ova ile değiştirin doctype bildirimi bakmak istiyorum [hata ayıklama, sadece geçici olarak tekrar] etiketlemek

Bir çok kez ekstra bir yeni satır?> Etiketinden sonra dahil bir PHP komut dosyası sonunda olacak. Bu ekstra bir karakter üretilen çıktı dahil edilecek neden olur. Sen bir kapanış kalmadan bu sorunun üstesinden gelebilir?> Dosyanızın çok sonunda etiketi. PHP kapalı olduğunu "kabul" bilir.

Eğer bize bir link vermek seçeneği var mı? Ben sadece yerel bir kaç şey denedim ve yazdırılamayan bir karakter varsa sizin, içerik ve "DOCTYPE" bildirimi arasındaki tüm görünüşte "hiçbir neden" bu "istenmeyen" yeni hat alabilirsiniz. ">" Sonra tüm karakterleri silmek için çalışın ve bunun belirli yapmak için bir hexeditor bir göz atın. Bize daha fazla bilgi verin.

Ben sadece biçimlendirme ve css kullanılır, çünkü çok ilginç Thats. Ben de bir php dosyasına koymak ve bir html dosyası dahil. Ama bir marj var. Hiçbir yerde.

So make sure your browser is able to find the css file with * { margin: 0; padding: 0 }

Ve ben böyle bir sıfırlama sayfasını kullanmanızı öneririm - http://meyerweb.com/eric/tools/css/reset/index.html.

P.S. Eğer bazı Web Alanı sahipseniz, online koyup bize bir link gönderin.

Dreamweaver otomatik BOM eklemeler var olan beni delirtiyor. İşte düzeltme bulunuyor:

http://www.adobe.com/support/documentation/en/dreamweaver/mx2004/dwusing_errata/dwusing_errata2.html

Ben bu yüzden ne ben bunu düzeltmek için yaptım ilk dosyanın uzaklaştırmak ve ikinci dosyanın başında bir html kapanış Yorumlarınız bir html açılış Yorum eklemek oldu ... aynı sorunu yaşadı. Bu Reçetesi çevreler (veya ne olursa olsun dosyaları arasında görünen) it html çıktısı değil bu yüzden bir açıklama içinde.

Örneğin:

#header.php
<?php ?>
<html>
<!--

#body.php
<?php ?>
-->
<body>
...

Ben boşuna notepad + + kodlama formatları arasında dönüştürme sorunu çözmeye çalıştı. Ben soruna daha iyi bir çözüm bulana kadar Yani bu sadece geçici bir düzeltmedir.

Ben notepad kullanıyorum ve ben menüden seçilen - BOM olmadan UTF-8> Kodlama-> Kodlama ve sadece iyi çalıştı. Bu, her dahil dosya için yapılmalıdır. Ben bu soruna çözüm olduğunu düşünüyorum. Güzel bir akşam var.

Ben bir vakit bu sorun vardı ve burada bunu düzeltmek için bir yoldur - charset.I onun gerçekten sorun bunu bulmak için 10 saat geçirdim. Benim durumda ben tüm php dosyaları (tüm php dosyaları, tüm VUK (eğer varsa) dosyaları) BOM olmadan UTF-8 UTF-8 charset değiştirilebilir ve bunu kaydetmek ve daha sonra deneyin. Bundan sonra da. Htaccess dize "AddDefaultCharset UTF-8" de yapabilirsiniz.