
いつもお世話になります。
外部cssで、例えば
xyz.css
div.abc{
font-size:13px;
width:100px;
height:120px;
border:solid;
border-width:2px;
border-color:#460675;
}
などと定義し、
htmlで
<link rel="stylesheet" href="xyz.css" type="text/css">
<style type="text/css"><!--
div.def{
ここで、class abc の内容の一部のみ変更、追加をしたいんですが、
その記載方法がわかりません。
}
--></style>
次のようにしてもできますが、
<div class="abc" style="ここに記載" ・・・・
JavaScriptで、classを切り替えて使用したいので、
cssで定義したclassを基に新たなclassを新たな名前でそれぞれのページでできないものかと調べています。
よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
漸くされたいことが理解できました。
^^;外部cssで、
abc01, abc02 {
共通部分を記載(ただし、※2※3は含まない)※1
}
abc01{
※1に付加した記載(※2)
}
abc02{
※1に付加した記載(※3)
}
とすれば、各htmlではスタイルを指定する必要はありません。
class="abc01"
class="abc02"
とクラス表示できます。^^
この回答への補足
suzukoさん、今晩は。ご丁寧にレスありがとうございます。
>外部cssで、
>abc01, abc02 {
>共通部分を記載(ただし、※2※3は含まない)※1
>}
なるほどです。
とても参考になりました。
ただ、例えばで、abc01, abc02と、しましたが、これが、数多くあるとき。
---その分前もって定義しておけば済む。と、いうことにはなりますが。
とか、abc01、abc02とかをxyzなどと変えたいといったとき。
---そのようなことをしないようにすれば良いではないか。
と、いえばそれまでですが。
ただ、cssでの設定を引き継ぐ方法があれば、管理がしやすいのですが。
xyz{
include(abc);
}
のような記載ができればと、思うのですが。
私の初めの説明不足でいろいろと紆余曲折させてしまいすみません。
しかし、そのお陰といっては失礼ですが、いろいろと良くわかりました。ありがとうございます。
No.3
- 回答日時:
????
>html上でcssで定義した共通部分を全て書けば済むところもありますが、
そんな必要はありません。外部CSSを読み込んでいるのであれば、そのHTMLで変更したい要素だけ、指定変更すればいいのです。
つまり、優先順位は
<div class="abc" style="font-size:16px;">
が1番。
htmlで
<link rel="stylesheet" href="xyz.css" type="text/css">
<style type="text/css"><!--
div.abc{
font-size:16px;
}
--></style>
が2番。
外部CSSが3番となります。変更されていない要素は、外部CSSのままです。
自分がよくやるのは、外部CSS1と外部CSS2が必要な場合、共通部分を外部CSS0として抜き出し、1・2に
@import url("css0.css");
でインポートさせています。当然、クラス名に変更はありません。
参考URL:http://www.tagindex.com/stylesheet/basic/priorit …
suzukoさん、重ねてのレスありがとうございます。
@import url()
知らなかった記述です。
ありがとうございます。使い方を実際に学んでいきたく思います。
style記述の優先順位については、良く理解しているつもりです。
>共通部分を外部CSS0として抜き出し
と、いうことですが、新たにcssファイルを作成しているということでしょうか。
良くやられているというので大きなメリットがあるということと察しますが、もし、新たにcssファイルを作成しているのであれば、cssファイルの数が増えてしまい、管理が大変になるという気がしてしまいます。
どうも私は、よく理解できないままです。
私が行いたいのは、
外部cssで、
abc{
共通部分を記載
}
それぞれのページで
abc01{
class abcに付加した記載
}
abc02{
class abcに付加した記載
}
として、
abc01,abc02という名前で制御したいということです。
だから、No.1のご回答
class="abc abc01"
class="abc abc02"
で目的は果たせます。
これを、
class="abc01"
class="abc02"
で、制御できないものかと試行錯誤しています。
貴重なご意見誠にありがとうございます。
@import url()の使い方も含め、いろいろと試してみます。
どうも、ありがとうございました。
No.2
- 回答日時:
なぜ、クラス名を変える必要があるのでしょうか?
htmlで
<link rel="stylesheet" href="xyz.css" type="text/css">
<style type="text/css"><!--
div.abc{
font-size:16px;
}
--></style>
とすれば、優先順位はHTMLが上になりますよ。
大きな勘違いならごめんなさい。
この回答への補足
suzukoさん、レスありがとうございます。
私の説明不足なのか、私の理解が浅いのかというところですが、
cssで定義した
class abc
を基に
class defというより
class abc01、abc02など部分変更追加したclass定義し
このabc01、abc02などをJavaScriptで切り替えようと思っています。
html上でcssで定義した共通部分を全て書けば済むところもありますが、
画像情報は、css上で定義すれば画像フォルダの指定が一度で済みます。
これを、html上で行おうとすると、背景画像などのフォルダ指定をページごとに変える必要が生じてしまいます。
だから、css上で背景画像などの情報は定義し、html上では部分的に定義し、class指定によりstyleを切り替えたいのです。
css上で定義したclassを基に追加修正したclassをhtml上で操作すれば管理がしやすくなると考えているのですが。
良い方法などございましたら、よろしくお願いいたします。
No.1
- 回答日時:
勘違いしてるかもしれませんが。
文字サイズを変更したいとして、スタイルはそのままfont-sizeだけを書く。
<style type="text/css"><!--
div.def{
font-size:16px;
}
--></style>
Javascriptでは
<div class="abc"
↓
<div class="abc def"
と変更するようにしてはどうですか?
要はclass名を変更するのではなく、追加や削除をする。
といっても結局 "abc"←→"abc def" の変更なので"abc"←→"def"のjavascriptと変わらないと思う。
div.def{~}の定義自体をJavascriptでやるならdiv.abc{~}の内容をコピーして、とかも出来るはず(ブラウザによってやり方が違うのでちと面倒)だけどcssにはそういう機能はないと思う。
この回答への補足
steel_grayさん、お早うございます。
早速レスを頂きありがとうございます。
><div class="abc def"
なるほどです。
ありがとうございます。
JavaScriptでどのようにして変更しようとしているのかを書かないでしまったですが、
document.getElementById'IdName').className=MyClassName1;
document.getElementById'IdName').className=MyClassName2;
と、いった形で変数で切り替えようとしていたものですので。
class="abc def"
は使えないと思い質問しましたが、
document.getElementById'IdName').className="abc def";
もできました。
"abc def"を変数化するなど
教えていただいた方法を基にもう少し試してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS HTML、cssのatomつぅーやつで 課題Ex1ってやつを表示させたいのですが、 私は課題Ex1が 2 2022/12/15 16:56
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
レスポンシブで困っています・・
-
HTML/CSSを使って写真のような...
-
テーブルの行を折りたたみたい...
-
HTMLタグのあるCSVファイルを利...
-
HTMLでクロス抽出したい
-
ホームページの制作について教...
-
テーブルのセルデータを自動改...
-
HTML&CSS メディアクエリにつ...
-
、URL化させるにはどうしたらい...
-
アコーディオンメニューが思う...
-
テーブルタグのセルの幅の一部...
-
GoogleSearchControlにホームペ...
-
HTML&CSS メディアクエリについ...
-
HTML&CSS メディアクエリ
-
HTML&CSSについて。
-
HTML &CSSとHTML5&CSS3 違い
-
HTML&CSSとHTML5&CSS3の違い...
-
HTML&CSSとHTML5&CSS3の違い...
-
列のどこをクリックしてもソー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
テーブルの行を折りたたみたい...
-
レスポンシブで困っています・・
-
HTMLでクロス抽出したい
-
iPhoneで HTMLファイルを閲覧
-
HTML/CSSを使って写真のような...
-
ホームページの制作について教...
-
スマホでHTMLファイルを開いて...
-
GoogleSearchControlにホームペ...
-
メモ帳の段落の揃え方
-
css初心者 フレックスボックス...
-
スマホ(android)のタッチパネ...
-
WEBページを強制的に横画面で見...
-
角丸画像の背景色を透明にした...
-
、URL化させるにはどうしたらい...
-
HTMLタグのあるCSVファイルを利...
-
静止画画像をクリックすると音...
-
テーブルのセルデータを自動改...
-
テーブルタグのセルの幅の一部...
-
スマホで、左右にスワイプして...
おすすめ情報