看板 PHP 關於我們 聯絡資訊
/ ├include │├layout ││├head.php -> require header, menu ││├header.php -> <link.... href="include/css/main.css"> ││├menu.php ││└footer.php │└css │ └main.css ├news │├index.php -> require head, footer ├index.php -> require head, footer └display.php 根目錄下的index,layout跟css都正常 根目錄的index有一個超連結,連到news/index.php <a href="news/index.php">news</a> 連過去之後,layout有出來,但就是css不行 @_@ 本以為是路徑的問題 試過把 include/css/main.css 改為 ../css/main.css 結果連原本正常的 根目錄index也讀不到css了,但layout還是正常的 但是,如果把根index的連結改成display 而在display裡 require news/index.php 就都正常顯示 請問這是什麼原因? 另外,請問reqiure/include的時候,到底該以誰為出發點? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.62.160 ※ 編輯: jscorpio1 來自: 140.120.62.160 (07/31 14:39)
alpe:require CSS !? 07/31 14:47
jscorpio1:css是寫在html <head>裡,那個檔案名稱是header.php 07/31 14:53
Madevil:include/require 是後端的事, 路徑當然是需要實體路徑 07/31 15:25
Madevil:問題是你根目錄的 index.php 在 include 那個 header.php 07/31 15:26
Madevil:它裡面那行 link 到 css 的路徑該指到哪裡 07/31 15:27
Madevil:看來把 link 那行路徑改成 /include/css/main.css 應該可 07/31 15:28
Madevil:以解決, 相對路徑和絕對路徑這部分請找些資料參考會有幫助 07/31 15:30
Madevil:另外一點... link 指定路徑的 attribute 是 href 才對 07/31 15:31
※ 編輯: jscorpio1 來自: 140.120.62.160 (07/31 15:50)
jscorpio1:請問為什麼直接連結不行,而透過display來require就ok?? 07/31 16:13
Madevil:什麼是 "透過display來require"?? 你要不要先把觀念弄清楚 07/31 16:19
Madevil:前後台的差別?? 07/31 16:19
根目錄index.php <a href="news/index.php"> news </a> =>版面layout有出現,但是 css沒有成功套用 如果把 根目錄index.php 的超連結改成 <a href="display.php"> news </a> 而 根目錄display.php的內容是 <?php require 'news/index.php'; ?> =>版面layout跟css則完全正常 另外,我還真不知道前後台的差別,M大可以給個超連結嗎? 感謝M大熱心回答 ※ 編輯: jscorpio1 來自: 140.120.62.160 (07/31 16:52)
Madevil:在這個案例裡面 php 只是負責產生 html 把結果丟到前端 07/31 17:06
Madevil:然後瀏覽器接到 html 以後才去解析產生讀者看到的內容 07/31 17:06
Madevil:你現在問題是出在於 html 匯入 css 的路徑, 所以這是前端 07/31 17:09
Madevil:因為根目錄的 index.php 或是 display.php 都是位在根目錄 07/31 17:10
Madevil:但是 news/index.php 是位在 news/ 下面, 所以跟你的 css 07/31 17:10
Madevil:的相對路徑就不一樣, 所以比較簡單的方式是設定成絕對路徑 07/31 17:11
Madevil:/include/css/main.css 這樣就找的到 07/31 17:12
xxxzzz:"出不來的網址"跟"include/css/main.css" 比對就知道原因了 07/31 22:48