2019/03/22 07:00 JST

Geeklog Japan Forums

次期Geeklog2.0のTableレイアウトの新テーマについて

ページナビゲーション


状態: オフライン

dengen

Site Admin
Admin
登録日: 11/23/06
投稿数: 191
こんにちは、dengenです。 現在本家で開発が進められている新テーマに相変わらずTableレイアウトが採用されようとしています。 新テーマはprofessional_cssがベースです。 CSSレイアウトを採用したテーマの心臓部をわざわざTableレイアウトにするというのですから、私には滑稽に思えます。 本家がTableレイアウトを採用する理由は、professional_cssではJavaScriptが無効のときにレイアウトが崩れてしまうからだそうです。 professional_cssはJavaScriptでHTML文書に左右のカラムが存在するかどうかを判定し、その情報をbodyタグにクラス名として書き込みます。 そしてその情報をもとにCSSをつかって自在にレイアウトを変更しています。 Geeklogではprofessionalテーマのように3カラムレイアウトのときでも、ページによっては2カラムレイアウトになりますが、professional_cssとJavaScriptオフの組み合わせではセンターカラムの幅調整が行われず、右カラム幅(または左カラム幅)の空白領域ができてしまいます。 Tableレイアウトでは自動的に幅調整されるのでこの問題は発生しません。 しかし、これだけのためにわざわざTableレイアウトに戻すという判断は正しいのでしょうか? レイアウトの崩れを問題でないとは言えませんが、情報の欠落はないし、昨今のHTML5の勢いを考えるとJavaScriptを無効にしているユーザーはかなり少ないと思われることから、それほど深刻な問題でもありません。 それよりもTableレイアウトに戻されたときの代償は非常に大きいと思います。 みなさんはこのことについてどう思われますか?

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5893
場所:Tokyo
WordPress, XOOPS Cube でも、CSSレイアウトのレスポンシブWebDesignによるテーマが標準テーマとして採用されているという状況で再び10年も前に、しかたなくはやったテーブルレイアウトに回帰する理由はどこにもありません。 JavaScript無効にして使いたいなら、それ用のテーマを別途提供されていれば解決することであり、標準テーマで対応させる必要はありませんので、すぐ本家MLで、反対を表明しましょう。

状態: オフライン

Tani_KK

Forum User
Chatty
登録日: 05/01/11
投稿数: 16
Javascipt-Off時のレイアウトの乱れも無いにこしたことはない。 でも、レスポンシブにできるならしたほうがよい。 とは思います。 で、Tableレイアウトの良し悪しを議論するよりは、Javascript-Off時でも レイアウトの乱れない方法を提案するほうが建設的かと思います。 具体的な妙案はありませんが、例えば &ltnoscript&gt&lt/noscript&gtでtableタグを 出力しておいて、Javascrip-Onなら本来の(Table以外の?)タグを出力させる等の 方法も取れるのではないのでしょうか? 素人案ながら、ひとこと。

状態: オフライン

dengen

Site Admin
Admin
登録日: 11/23/06
投稿数: 191
Quote by: Ivy

WordPress, XOOPS Cube でも、CSSレイアウトのレスポンシブWebDesignによるテーマが標準テーマとして採用されているという状況で再び10年も前に、しかたなくはやったテーブルレイアウトに回帰する理由はどこにもありません。 JavaScript無効にして使いたいなら、それ用のテーマを別途提供されていれば解決することであり、標準テーマで対応させる必要はありませんので、すぐ本家MLで、反対を表明しましょう。

WordPress, XOOPS CubeではレスポンシブWebDesignによるテーマを標準採用というのは知りませんでした。 これらのCMSはニーズを的確に把握して対応しているように思います。 それ以前に今時Tableレイアウトのテーマを標準にしているCMSが他にあるんでしょうか。 ユーザーがJavaScript無効にしたときにレイアウトの崩れがないに越したことはないので、本家で反対を表明する場合に代案がほしいところです。

状態: オフライン

dengen

Site Admin
Admin
登録日: 11/23/06
投稿数: 191
Quote by: Tani_KK

Javascipt-Off時のレイアウトの乱れも無いにこしたことはない。 でも、レスポンシブにできるならしたほうがよい。

レイアウトの乱れを問題ないとは言えないですね。 レスポンシブデザインが出来るのはCSSレイアウトの柔軟性があってこそなので、CSSレイアウトを捨てることはできないと思います。
Quote by: Tani_KK

Tableレイアウトの良し悪しを議論するよりは、Javascript-Off時でも レイアウトの乱れない方法を提案するほうが建設的かと思います。

はい。実はこの話題を立ち上げたのは、この提案を導き出すことを意図していました。
Quote by: Tani_KK

具体的な妙案はありませんが、例えば <noscript></noscript>でtableタグを 出力しておいて、Javascrip-Onなら本来の(Table以外の?)タグを出力させる等の 方法も取れるのではないのでしょうか?

あまり現実的ではないように思います。仮になんとかできてもかなり無理をすることになりそう。 HTMLコードもかなり読みづらくなるので、テーマ開発者には敬遠されるでしょう。 そもそもTableレイアウトを取り入れている事自体、本家の対応と大差が無くなってしまいます。

状態: オフライン

mistgrass

Forum User
Active Member
登録日: 12/02/06
投稿数: 91
こんばんは、ミストグラスです。 いつもすばらしいテーマを提供いただきありがとうございます。 テーマをいじらせていただく場合、テーブルレイアウトは個人的に大変いじりにくく感じます。 また、美しくない。 また、dengenさんもおっしゃっているように、現在JavaScript オフの環境はそうそうでないのではないかと思いますので、そこに重点を置くことに疑問を感じます。

状態: オフライン

dengen

Site Admin
Admin
登録日: 11/23/06
投稿数: 191
ミストグラスさん、ありがとうございます。自分と同じ意見をいただけると勇気が湧いてきます。 本家はJavaScriptオフ時にレイアウトが乱れることのほかに、既存サイトがスムーズにアップグレードできるように互換性を重視しているのでしょう。 実は互換性を損ねても良いなら、解決方法があります。 professional_cssのJavaScriptコードで行なっていることを、サーバーサイドつまりPHPで行えば解決します。 ここで、GeeklogのCOM_siteHeader関数とCOM_siteFooter関数が問題になります。 HTMLを生成する際、bodyタグにレイアウト情報を含めたクラス名を与える処理を、COM_siteHeader関数内で記述すれば良いのですが、COM_siteFooter関数の計算結果を見ないとレイアウトの(2カラムか3カラムかの)判定ができないというジレンマが存在してうまく行かないのです。 Tableレイアウト時代においては、COM_siteHeaderとCOM_siteFooterには何も問題は無かったのですが、現在のCSSレイアウト時代においては不都合が生じているという状況です。 COM_siteHeaderとCOM_siteFooterを統合してしまえば問題は解決します。でもそうするとCOM_siteHeaderとCOM_siteFooter使っているコードを全部書き換える必要がでてくるので大変な影響があります^^; しかし、私もいろいろ考えてみたのですが、COM_siteHeaderとCOM_siteFooterの統合しか解決方法はないだろうと思っています。 実は先程まで作業をして、GeeklogのCOM_siteHeaderとCOM_siteFooterを新たに作成した統合関数で全て書き換えてみました。 これでJavaScriptをオフにしてもレイアウトは崩れません。

状態: オフライン

kitani

Forum User
Active Member
登録日: 11/12/07
投稿数: 47
デザイン・レイアウトについては素人なのですが、
JavaScript OFFの時には、携帯テーマが出るなど、箇条書きしかでないようにしてしまえばいいのではないかなーと思います。

状態: オフライン

Tani_KK

Forum User
Chatty
登録日: 05/01/11
投稿数: 16
Quote by: dengen

本家はJavaScriptオフ時にレイアウトが乱れることのほかに、既存サイトがスムーズにアップグレードできるように互換性を重視しているのでしょう。 実は互換性を損ねても良いなら、解決方法があります。 (省略) 実は先程まで作業をして、GeeklogのCOM_siteHeaderとCOM_siteFooterを新たに作成した統合関数で全て書き換えてみました。 これでJavaScriptをオフにしてもレイアウトは崩れません。

この書き換えが、COM_siteHeaderとCOM_siteFooterの中身だけを書き換えている という話ならば、後方互換を維持した状態で十分修正可能と思います。 もともと[theme]_siteHeaderと[theme]_siteFooterは用意されていますが、これだと名前を変える毎にfunctions.phpの関数名も変えないといけないので標準としては不向き。 ならば、ひとつフラグを立てて、Tabale_siteHeader/CSS_siteHeaderなどの切り替えをlib-commonに仕込んでやればいいのではないでしょうか? functions.phpでCSSレイアウトならフラグをセットし、そのフラグがtrueならばCSS_site... を使用、そうでなければTable_site... を 使用等です。 いかがでしょう?

状態: オフライン

dengen

Site Admin
Admin
登録日: 11/23/06
投稿数: 191
Quote by: kitani

デザイン・レイアウトについては素人なのですが、 JavaScript OFFの時には、携帯テーマが出るなど、箇条書きしかでないようにしてしまえばいいのではないかなーと思います。

kitaniさん、コメントありがとうございます。 でもごめんなさい。「携帯テーマ」や「箇条書きしかでないように」の意味がよく分かりませんでした。

ページナビゲーション

時刻はすべて JST , 現在の時刻は 07:00 AM

  • 通常
  • 注目トピック
  • ロック済
  • 新着
  • 注目トピック 新着
  • ロック済トピック 新着
  •  ゲストユーザの投稿を見る
  •  ゲストユーザ投稿可能
  •  一部のHTMLを許可
  •  バッドワードをチェック