私は非常に単純なhtmlページを持っています:
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<link rel="stylesheet" type="text/css" href="http://127.0.0.1/assets/css/main.css" />
</head>
<body>
<div>hello world!</div>
<br/>
<div id='global_footer'>copyright 2013</div>
</body>
</html>
main.css は次のとおりです。
body { font-family: arial; background-color: rgb(185,179,175); }
ブラウザのソース コード ページからリンクをクリックして、リンクが正常に機能することを確認します。ブラウザは css ソース コードを正しくロードします。
ただし、CSS はページに適用されません。DOCTYPE 行を削除すると、まったく同じコードが正常に機能します。何が原因なのか本当にわかりません。
詳細については、CodeIgniter を使用しています。assets フォルダーは私のドキュメント ルートの下にあり、アプリケーション フォルダーと兄弟関係にあります。index.php を追加せずに css ファイルが正しくロードされるように、ルートの .htaccess に css を追加しました。CI関連の設定は問題なく、ブラウザはcssファイルを見つけることができると思います。そうでない場合、DOCTYPE行がないと機能しないはずです。
ありがとうございました。
- - 編集 - -
皆さん、html と css をテストしていただきありがとうございます。私はテストしましたが、それらは正常に動作します。問題はCIにあると思います。サブフォルダーと main.css ファイル内のドキュメント ルートに assets フォルダーがあります。この html と css が CI で動作しない理由がわかりません。私のコントローラー:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller {
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see http://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$this->load->helper(array('html','url'));
$this->load->view('main');
}
}
/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */
ありがとうございました。