お世話になります。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>index03のページ</title>
<style type="text/css">
body {
background-color: #FFFFCE;
background-image: url();
}
.list01-odd {
background-color: #FFEEEE;
}
.list02-odd {
background-color: #EEFFEE;
}
a{color: #cc6600
}
ul,li {padding:0;
margin:0;
line-height:1.3;
font-size: 14px;
font-weight: italic;
}
li a{text-decoration: none;}
.blockAA {width:740px;
background:#FFFCCC;}
.blockAA ul {width:740px;}
.blockAA ul li {float:left;
width:340px;
list-style:none;
padding-left:30px;
}
.unnamed1 {font-size: 16px;
color: #FF0000;
font-style: italic;
font-weight: normal;
}
.style153 {font-size: 16px; color: #9CCE39; font-weight: bold; }
.style132
/* clearfix */
.blockAA ul:after {content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;}
/* for ie */
* html .blockAA ul {display:inline-table;}
/* hides from ie-mac \*/
.blockAA ul {height:1%;}
/* end hide from ie-mac */
</style>
</head>
<body>
<br />
<table width="746" height="26" border="1" bordercolor="#9CCE39" bordercolorlight="#9CCE39" bordercolordark="#9CCE39" bgcolor="#9CCE39">
</table>
<br />
</script>
<span class="unnamed1">(あ行)</span>
<div class="blockAA">
<ul class="hoge">
<li class="list01-odd"><a href="A073.htm">あああ</a></li>
<li class="list01-odd"><a href="A017.htm">いいい</a></li>
<li><a href="A069.htm">ううう</a></li>
<li><a href="A043.htm">えええ</a></li>
<li class="list01-odd"><a href="A080.htm">おおお</a></li>
<li class="list01-odd"><a href="A077.htm">かかか</a></li>
(省略部分があります)
上記において、例えば「ううう」を削除した場合、「えええ」の文字列が背景色といっしょに移動するのですが、この際、「えええ」の文字列のみを移動させたいのです(つまり、背景色は固定させたい)
お知恵を拝借できれば幸いです。
よろしくお願いいたします。
No.3
- 回答日時:
CSS3 対応ブラウザなら(Firefox3.1+, Safari3.1+, Chrome, Opera)
li:nth-child(odd) { background-color : #FFEEEE; }
li:nth-child(even) { background-color : #EEFFEE; }
IE 7以前 なら
ol li { background-color : expression( this.value % 2 ? '#FFEEEE' : '#EEFFEE' ); }
# ol に囲まれた li にのみ有効です。
# IE8 から expression のサポートを取りやめしまっているので、IE8以降 ではどちらの方法も使えません。
なるべく多くのブラウザでということでしたら、結局 li.even, li.odd クラスを作って地味に手書きしかないと思います。
================================================================
# ちなみに <html> 要素直下に置けるのは、<body>、<head>、<frameset>のみで、<script>要素をおくことはできません。置くなら、</body>の前。
# class属性(className)は、スペース区切りで複数指定される可能性があります。その場合、== では引っかからない。= で代入すると、もともとつけられていたクラスを消してしまいます。
No.2
- 回答日時:
サンプルです。
"hoge"クラスの<ul>を対象にしています。
下記を</body>の下につけておけば、よろしいかと
<script type="text/javascript">
(function(){
var ul_elms =document.getElementsByTagName("UL");
for(var i=0;i<ul_elms.length;i++){
if(ul_elms[i].className =="hoge"){
var count=0;
var elment=ul_elms[i].firstChild;
while(elment){
if(elment.tagName=="LI"){
if(count>1){
elment.className ="list01-evn";
count=(count>2)?0:3;
}else{
elment.className ="list01-odd";
count++;
}
}
elment=elment.nextSibling;
}
}
}
})();
</script>
この回答への補足
何度もご回答いただき、ありがとうございます。
下記のようにやってみたのですが・・・。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>index03のページ</title>
<style type="text/css">
body {background-color: #FFFFCE;
background-image: url();}
.list01-odd {background-color: #FFEEEE;}
.list02-odd {background-color: #EEFFEE;}
a{color: #cc6600}
ul,li {padding:0;margin:0;line-height:1.3;font-size: 14px;
font-weight: italic;}
li a{text-decoration: none;}
.blockAA {width:740px;background:#FFFCCC;}
.blockAA ul {width:740px;}
.blockAA ul li {float:left;width:340px;list-style:none;padding-left:30px;}
.unnamed1 {font-size: 16px;color: #FF0000;font-style: italic;font-weight: normal;}
.style153 {font-size: 16px; color: #9CCE39; font-weight: bold; }
.style132
/* clearfix */
.blockAA ul:after {content: ".";display: block;height: 0;clear: both;visibility: hidden;}
/* for ie */
* html .blockAA ul {display:inline-table;}
/* hides from ie-mac \*/
.blockAA ul {height:1%;}
/* end hide from ie-mac */
</style>
<script type="text/javascript">
(function(){
var ul_elms =document.getElementsByTagName("UL");
for(var i=0;i<ul_elms.length;i++){
if(ul_elms[i].className =="hoge"){
var count=0;
var elment=ul_elms[i].firstChild;
while(elment){
if(elment.tagName=="LI"){
if(count>1){
elment.className ="list01-evn";
count=(count>2)?0:3;
}else{
elment.className ="list01-odd";
count++;
}
}
elment=elment.nextSibling;
}
}
}
})();
</script>
</head>
<body>
<br />
<table width="746" height="26" border="1" bordercolor="#9CCE39" bordercolorlight="#9CCE39" bordercolordark="#9CCE39" bgcolor="#9CCE39">
<tr>
<td width="736" height="20" align="left" valign="middle" background="color01.gif"> <span class="style153">■</span> <span class="style153">ーー業</span> <span class="style153">■</span></td>
</tr>
</table>
<br />
<span class="unnamed1">(あ行)</span>
<div class="blockAA">
<ul class="hoge">
<li class="list01-odd"><a href="A073.htm">・あああ</a></li>
<li class="list01-odd"><a href="A017.htm">・いいい</a></li>
<li class="list01-even"><a href="A069.htm">・ううう</a></li>
<li class="list01-even"><a href="A043.htm">・えええ</a></li>
<li class="list01-odd"><a href="A080.htm">・おおお</a></li>
<li class="list01-odd"><a href="A077.htm">・かかか</a></li>
</ul>
とやってみたのですが、うまくいきません。
お忙しいかとは思いますが、添削していただければ幸いです。
どうぞよろしくお願いいたします。
No.1
- 回答日時:
このソースを見る限り、li要素を1行に2こづつ配置して、偶数行のみ
list01-oddクラスを最初から静的に指定していますね。
li要素を1個削除すれば、その行内のli要素がづれるだけで、class指定を
直さない限り、背景色はかわりません。
CSSとhtmlだけでも工夫すれば、出来るかも知れませんが、よいアイデアがでません。私ならjavascriptでやります。
対象ulを取得して、子li要素をfirstchirdからnextSiblingで順次参照し
て、2個毎に背景色をセットしていく、処理をページロード時に実行させます。
回答いただき、ありがとうございます。
JavaScriptでやれれば一番いいのですが、当方まったくの初心者のため、苦戦中です><
もしお時間に余裕がありましたら、もう少し詳しくご教授いただけたら幸いです。
どうぞよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS htmltとcssの連携をして画像縮小について 1 2022/11/15 20:32
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
css 横並びのナビゲーションバ...
-
画像にリンクを張ると画像がず...
-
ポップアップメニューを表のよ...
-
ポップアップメニューの作成方...
-
html/cssの、navを2段にする...
-
CSSでの<ul><li>を使った改行設定
-
<table>の高さ固定。情報増加時...
-
リストの数字のフォントサイズ...
-
リストを2つに分割して、それぞ...
-
バーナーヘッダーを固定する方法
-
ol、liをスタイルシートで中央寄せ
-
計算式や注意書きなどの記述は...
-
タイトルの横にサブタイトルが並ぶ
-
文法チェックの<A>と</A>の間が...
-
CSS「table-cell」で横並びにし...
-
ボタンを横に並べて表示させる方法
-
スタイルシートで更新情報をつ...
-
2要素ずつcssを適用する疑似ク...
-
テーブル内のプルダウンの下に...
-
Webのコーディングについての質...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リストマーカーをボックス内に...
-
番号付きリスト(<Ol><Li>・・...
-
liタグの中に<p>タグやら<dl>を...
-
レスポンシブWebデザインでリン...
-
<table>の高さ固定。情報増加時...
-
<ul><li></li></ul>にするメリ...
-
リストの数字のフォントサイズ...
-
HTMLで組織図を作成する方法
-
ulタグやliタグの中でbrタグ...
-
divタグ内のコンテンツが重なっ...
-
画像にリンクを張ると画像がず...
-
複数行にまたがる括弧を表示し...
-
ページを開いているときのリン...
-
html <ul></ul>の並びで一行空...
-
html/cssの、navを2段にする...
-
HTML5のfooterに見出しを付けて...
-
<ul>~</ul>が二つ続くと間に改...
-
htmlの<ol>タグで、数字などを...
-
リンク文字同士の間隔を開ける...
-
CSSでつくったメニューのアニメ...
おすすめ情報