1

href 属性、link タグ、base タグと混同されることがよくあります。ファイルをサブフォルダーに移動しても機能するように CSS ファイルを適切にリンクする方法がわからないので (例は後述)、場所を指定するときに href がどのように機能するかを調べました。

ご存じのとおり、私はローカルホストで作業しているため、メインhtdocsフォルダーがあり、その中に複数のフォルダーがあり、それぞれが取り組んでいるプロジェクトに対応しています。最終的には次のようになります。

localhost/index.php (which redirects to localhost/home/index.php)
localhost/home/
localhost/zune/
localhost/school/
localhost/aeac/

一般的に、フォルダのレイアウトは次のようなものになります。

localhost/aeac/images/
localhost/aeac/stylesheets/
localhost/aeac/scripts/

続けて、ファイルがlocalhost/aeac/test/index.htmlあり、その中にテスト用の 4 つのリンクがあるとします。私はそれを発見しました

<a href="/"> will link to "localhost/"
<a href="./"> will link to "localhost/aeac/test/" (the directory the file is in.)
<a href="../"> will link to "localhost/aeac/" (the directory above the file.)
<a href="about.html">will link to "localhost/aeac/test/about.html" (the directory the file is in.)

href を理解したところで、CSS を適切にリンクする方法を理解する必要があります。

サイトのディレクトリが次のようになっていると想像してください。

localhost/aeac/
localhost/aeac/images/
localhost/aeac/stylesheets/
localhost/aeac/scripts/

そして、/aeac/私が持っているフォルダにありますindex.html。ファイルには、次のようなリンク タグがあります。

<link rel="stylesheet" href="stylesheets/main.css" />

main は基本的にサイトの構造/テーマであり、すべてのファイルに含まれます。サブフォルダーを作成する必要があるときに問題が発生します。ができましたlocalhost/aeac/users/*username*/index.htmlstylesheetsサイトはまだ main.css を使用していますが、そこにフォルダーがないため、リンクは機能しません。

問題を解決するためにベースタグを使用する必要があると思いますが、それがどのように記述されるかについてはまだ混乱しています。また、users フォルダー内のすべてのファイルのリンク タグを変更するだけでよいことはわかっていますが、この方法でそれを行う方法を知りたいです (それが可能であれば)。

4

4 に答える 4

2

hrefについて知ったことと、ナビゲーションに関する知識を最終的なアプローチと組み合わせるだけです。

したがって、これがある場合:
localhost / aeac /
localhost / aeac / images /
localhost / aeac / stylesheets /
localhost / aeac / scripts /
localhost / aeac / users /

localhost / aeac / users / index.htmlにいる場合は、ディレクトリを1つ上に移動して(../ aeacに入る)、次の場所に移動します。

../stylesheets/style.css

お役に立てれば

于 2010-10-12T00:25:27.057 に答える
1

次を使用できます:/stylesheet/main.css

または../../stylesheet/main.css

「user」フォルダの名前に関係なく、../..は常に2つのフォルダに戻ります。

/aeac/users/user1/index.html /aeac/users/user2/index.html

../../stylesheetは常に/aeac/stylesheetにアクセスします

于 2010-10-12T00:38:05.757 に答える
1

/ をベースとして使用して、スタイルシートへの絶対パスを持つことができます

<link rel="stylesheet" href="/aeac/stylesheets/main.css" />

于 2010-10-12T00:31:08.697 に答える
1

私はあなたがこれを望んでいると信じています:

<link rel="stylesheet" href="/aeac/stylesheets/main.css" />

これは で始まる/ため、ページがどこにあるか (つまり at/aeac/index.htmlまたは at /aeac/users/foo/index.html) に関係なく、常にルートから上にトラバースします。の各コピーでタグを制御できる場合index.html(おそらくそうするでしょう)、..、 to を使用して上に移動することもできますが../../stylesheets/main.css、ルートから移動する方がおそらく簡単です。

于 2010-10-12T00:32:25.667 に答える