0

私が作成したアプリケーションをホストする Web サイトを作成しようとしていますが、IntelliJ IDEA IDE を使用してそれを実行しています。2 つの html ページと 1 つの css ファイルがあります。

/index.html
/projects/somepage.html
/css/styles.css

したがって、両方のhtmlページでcssファイルを参照したいので、両方のhtmlページにこれがあります:

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

これでうまくいくと思いましたが、いいえ、どちらのページにもスタイルがありません。

HTML ページのソースを表示し、クリックして css ファイルを取得しようとしている場所を確認すると、C:/css/styles.css が表示されます。

私はウェブサイトをゼロから開発するのは初めてですが、パスが少し間違っているのでしょうか? フォルダーからstyles.cssを取り出して、index.htmlで「styles.css」として参照し、somepage.htmlで「../styles.css」として参照すると、動作させることができますが、したくありませんページごとに異なるパスを使用する必要があります。

これは IDE の問題ですか? 関連する可能性のある Website.iml というプロジェクトを作成したときに IntelliJ IDEA が作成したファイルがあります。これはその中にあるものです:

<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>

ただし、IDE がコードの作成に役立つだけであり、IDE を使用しない場合でもファイル構造はまったく同じであるため、IDE がどのように影響するかはまったくわかりません。

ありがとう。

4

4 に答える 4

1

アプリケーションをビルドするときは、開発サーバーを実行する必要があります。これは、サーバー上とローカル マシン上のファイルの場合とで動作が異なるためです。たとえば、現在パスが間違っているのは、マシンの C:/ ドライブであるルート ディレクトリで css/style.css を検索しているためです。これをサーバーに置くと、すべてのファイルルートディレクトリにあるため、完全に機能します。

開発サーバーの実行は非常に簡単です。それを行う方法は無数にあります。php5 を使用してシンプルな APACHE サーバーを起動できます

$ php -S localhost:8000 -t /path/to/your/application

それ以外の場合、html ファイルはすべて異なるレベルでネストされているため、各 html ファイルのスタイルシートへのパスを変更する必要があります。

たとえばindex.html、 のパスを持つリンク タグがヘッドにあるのcss/style.cssに対して、パス/projects/somepage.htmlが のリンク タグがヘッドにあるとします../css/style.css

そうは言っても、Web サイトの構築に真剣に取り組んでいるのであれば、開発サーバーの使い方を学ぶ必要があります。

于 2013-10-14T21:46:17.070 に答える
0

css の前に余分な「/」は必要ありません。

<link rel="stylesheet" href="css/style.css" />

うまくいくはずです。余分な / を使用すると、別のフォルダーを調べようとしていると思います.. 何もありません。お役に立てれば!

于 2013-10-14T21:08:50.200 に答える
0

試す

<link href="./css/style.css" />

または

<link href="css/style.css" />

スラッシュがあるだけで、サイトのルートを調べようとしています。ピリオドを追加することで、ドキュメントのルート フォルダーを検索します。

于 2013-10-14T21:12:44.897 に答える