質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

2689閲覧

cssでわからないこと

uverworld101nm

総合スコア172

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2016/08/22 01:55

編集2016/08/23 05:23

ページングのcssについて質問があります。
現在地を表すcurrentを下のコードのようにすれば、currentのcssが適用されますが、他のnextやprev、pagingの場合下のコードのように書いても適用されず、cssが変わりません。
例えば、currentの色を変えるためにcolor:#fff;を入ると白になりますが、prevやnextにcolor:#fff;を入れても白になりません。
編集したcss

html

1function paging($limit, $page, $disp=5){ 2 //$dispはページ番号の表示数 3 $next = $page+1; 4 $prev = $page-1; 5 6 //ページ番号リンク用 7 $start = ($page-floor($disp/2) > 0) ? ($page-floor($disp/2)) : 1;//始点 8 $end = ($start > 1) ? ($page+floor($disp/2)) : $disp;//終点 9 $start = ($limit < $end)? $start-($end-$limit):$start;//始点再計算 10 11 if($page != 1 ) { 12 $class=($page == $i-1)? ' class="prev"':""; print '<a href="?page='.$prev.'">&laquo; 前へ</a>'; 13 } 14 15 //最初のページへのリンク 16 if($start >= floor($disp/2)){ 17 print '<a href="?page=1">1</a>'; 18 if($start > floor($disp/2)) print "..."; //ドットの表示 19 } 20 21 22 for($i=$start; $i <= $end ; $i++){//ページリンク表示ループ 23 24 $class = ($page == $i) ? ' class="current"':"";//現在地を表すCSSクラス 25 26 if($i <= $limit && $i > 0 )//1以上最大ページ数以下の場合 27 print '<a href="?page='.$i.'"'.$class.'>'.$i.'</a>';//ページ番号リンク表示 28 29 } 30 31 //最後のページへのリンク 32 if($limit > $end){ 33 if($limit-1 > $end ) print "..."; //ドットの表示 34 print '<a href="?page='.$limit.'">'.$limit.'</a>'; 35 } 36 37 if($page < $limit){ 38$class=($page == $i+1)? ' class="next"':""; print '<a href="?page='.$next.'">次へ &raquo;</a>'; 39 } 40 41 /*確認用 42 print "<p>current:".$page."<br>"; 43 print "next:".$next."<br>"; 44 print "prev:".$prev."<br>"; 45 print "limit:".$limit."<br>"; 46 print "start:".$start."<br>"; 47 print "end:".$end."</p>";*/ 48 49} 50 51$limit = 10;//最大ページ数 52$page = empty($_GET["page"])? 1:$_GET["page"];//ページ番号 53 54paging($limit, $page);

nextのcss

html

1<style> 2.next { 3 font-weight: bold; 4 color:#fff; 5} 6</style>

currentのcss

html

1<style> 2.current { 3 font-weight: bold; 4} 5</style>

全体のcss

html

1function paging($limit, $page, $disp=5){ 2 //$dispはページ番号の表示数 3 $next = $page+1; 4 $prev = $page-1; 5 6 //ページ番号リンク用 7 $start = ($page-floor($disp/2) > 0) ? ($page-floor($disp/2)) : 1;//始点 8 $end = ($start > 1) ? ($page+floor($disp/2)) : $disp;//終点 9 $start = ($limit < $end)? $start-($end-$limit):$start;//始点再計算 10 11 if($page != 1 ) { 12 print '<a href="?page='.$prev.'">&laquo; 前へ</a>'; 13 } 14 15 //最初のページへのリンク 16 if($start >= floor($disp/2)){ 17 print '<a href="?page=1">1</a>'; 18 if($start > floor($disp/2)) print "..."; //ドットの表示 19 } 20 21 22 for($i=$start; $i <= $end ; $i++){//ページリンク表示ループ 23 24 $class = ($page == $i) ? ' class="current"':"";//現在地を表すCSSクラス 25 26 if($i <= $limit && $i > 0 )//1以上最大ページ数以下の場合 27 print '<a href="?page='.$i.'"'.$class.'>'.$i.'</a>';//ページ番号リンク表示 28 29 } 30 31 //最後のページへのリンク 32 if($limit > $end){ 33 if($limit-1 > $end ) print "..."; //ドットの表示 34 print '<a href="?page='.$limit.'">'.$limit.'</a>'; 35 } 36 37 if($page < $limit){ 38 print '<a href="?page='.$next.'">次へ &raquo;</a>'; 39 } 40 41 /*確認用 42 print "<p>current:".$page."<br>"; 43 print "next:".$next."<br>"; 44 print "prev:".$prev."<br>"; 45 print "limit:".$limit."<br>"; 46 print "start:".$start."<br>"; 47 print "end:".$end."</p>";*/ 48 49} 50 51$limit = 10;//最大ページ数 52$page = empty($_GET["page"])? 1:$_GET["page"];//ページ番号 53 54paging($limit, $page);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/08/24 06:24

質問するときのヒントより抜粋ですが、「teratailを「サポートセンター」だとは思わないでください。作業依頼のような投稿をして、課題や仕事を無償でやってもらえる場ではありません。あなたがそのようなつもりで質問しているのだと他のユーザーから誤解されないように、丁寧な質問を心がけましょう。」 この辺が大事ですね。
退会済みユーザー

退会済みユーザー

2016/08/24 06:25

しつこいようですが大事なことなので…
guest

回答2

0

classで指定していないからでは?

投稿2016/08/22 01:59

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uverworld101nm

2016/08/22 02:08

そういうことですか。 $next= ($page == $i) ? ' class="next"':""; とすればいいんですか?
ttyp03

2016/08/22 02:09

何回も言ってますが、まずは「やってみて」。 それでダメなら再度質問すれば良いのです。
uverworld101nm

2016/08/22 02:21

分かりました。 やってから質問します。
uverworld101nm

2016/08/23 05:24

if($page != 1 ) { $class=($page == $i-1)? ' class="prev"':""; print '<a href="?page='.$prev.'">&laquo; 前へ</a>'; } if($page < $limit){ $class=($page == $i+1)? ' class="next"':""; print '<a href="?page='.$next.'">次へ &raquo;</a>'; }
uverworld101nm

2016/08/23 05:24

これにしましたが、cssは変わりませんでした。
ttyp03

2016/08/23 05:27

aタグでclassを指定していないようだけど?
uverworld101nm

2016/08/23 05:58

print '<a href="?page='.$prev.'".$class.''>&laquo; 前へ</a>'; になおしましたが、cssに変化ありません。
ttyp03

2016/08/23 07:10

カレントページの処理でCSSを切り替えているのは、今表示しているページ番号を強調表示したいからでしょう。 「前へ」と「次へ」は表示する条件のときにしか表示しないようになっていると思われるので、$classに値を入れずとも次のように直接書いて良いと思いますよ。 if($page != 1 ) { print '<a href="?page='.$prev.' class="prev">&laquo; 前へ</a>'; }
uverworld101nm

2016/08/23 13:59

$class=($page == $i-1)? ' class="prev"':""; は何処に入れればいいですか?
ttyp03

2016/08/23 14:22

だから、それ要らないんじゃないのって言ってんの。
uverworld101nm

2016/08/24 02:57

print '<a href="?page='.$prev.'".$class=prev.''>&laquo; 前へ</a>'; にしましたがcssは変わりません。
ttyp03

2016/08/24 02:58

2つ前の回答見て。
uverworld101nm

2016/08/25 14:58

if($page != 1 ) { print '<a href="?page='.$prev.' class="prev">&laquo; 前へ</a>'; } にすると、前へのボタンが表示されなくなります。
uverworld101nm

2016/08/25 15:03

.'".を消すと前へボタンが消えます。
ttyp03

2016/08/25 23:26

あ、すまんすまん。 hrefのところダブルクォーテーション閉じ忘れてた。 ていうか、生成されたHTMLを確認してみれば原因はわかると思うのだけど、見ていないのですか?
uverworld101nm

2016/08/26 01:45

すみません。 生成されたHTMLを確認しても原因がわからなかったので質問したまでです。 もう一度、確認してみます。
ttyp03

2016/08/26 02:27

確認しているのであれば、「(出力されたHTMLを提示して)生成されたHTMLはこうなっていますが、何が悪いのでしょうか?」と聞かないとダメでしょう?
uverworld101nm

2016/08/26 06:06

すみません。 こうですね。 print '<a href="?page='.$next.'" class="next">&laquo; 次へ</a>';
ttyp03

2016/08/26 06:08

そういうことです。 で、解決したのでしょうか?
uverworld101nm

2016/08/26 07:18

できました。 あとは、ページリンクのcssです。
uverworld101nm

2016/08/27 03:13

沢山教えて頂きありがとうございます。 本当はベストアンサーに選びたかったのですが、一人しか選べないのでttyp03さんをベストアンサーにすることが出来ませんでした。 本当に申し訳ございません。
guest

0

cssでclassを指定して属性を変えるんですよね?
PHPでcurrentをclassに記載している箇所は見受けられますが
prevやnextはclassに書いていないようですが

追記

$class = ($page == $i) ? ' class="current"':"";//現在地を表すCSSクラス

としているのですから

PHP

1$class=""; 2if($page == $i-1) $class=' class="prev"'; 3if($page == $i) $class=' class="current"'; 4if($page == $i+1) $class=' class="next"';

のようになるんじゃないですかね?

投稿2016/08/22 02:00

編集2016/08/22 02:13
yambejp

総合スコア114742

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uverworld101nm

2016/08/22 02:07

>class="current"':"";//現在地を表すCSSクラス ですね。 $next= ($page == $i) ? ' class="next"':""; とすればいいんですか?
yambejp

2016/08/22 02:14

追記しておきました
uverworld101nm

2016/08/22 02:20

ありがとうございます。 やってみます。
uverworld101nm

2016/08/23 05:29

if($page != 1 ) { $class=($page == $i-1)? ' class="prev"':""; print '<a href="?page='.$prev.'">&laquo; 前へ</a>'; } if($page < $limit){ $class=($page == $i+1)? ' class="next"':""; print '<a href="?page='.$next.'">次へ &raquo;</a>'; } としましたが、cssは変わりません。
yambejp

2016/08/23 05:45

すくなくとも print '<a href="?page='.$prev.'">&laquo; 前へ</a>'; とするなら print '<a href="?page='.$prev.'".$class.''>&laquo; 前へ</a>'; のような書き方をしなければクラスがタグに乗らないですね もちろんnextも同様
uverworld101nm

2016/08/23 06:07

if($page < $limit){ $class=($page == $i+1)? ' class="next"':""; print '<a href="?page='.$next.'"'.$class.'>次へ &raquo;</a>'; } となおしましたが、結果は同じです。
uverworld101nm

2016/08/25 14:59

$class=($page == $i+1)? ' class="next"':""; はどこに入れればいいですか?
date

2016/08/26 00:19

それもttyp03さんのやり方を応用すればできますから
uverworld101nm

2016/08/26 01:48

if($page != 1 ) { $class=($page == $i-1)? ' class="prev"':""; print '<a href="?page='.$prev.'".$class.''>&laquo; 前へ</a>'; を応用してみたのですが結果は一緒です。
date

2016/08/26 04:04

そっちがじゃない print '<a href="?page='.$next.'" class="next">&laquo; 次へ</a>'; こっちといわないとわからないか 
uverworld101nm

2016/08/26 06:05

print '<a href="?page='.$next.'" class="next">&laquo; 次へ</a>'; つまり、$next.とclassの間に、'"を入れるんですね。
uverworld101nm

2016/08/26 07:18

ページリンクのcssも変更したいのです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問