私は現在、レスポンシブデザインを扱うプロジェクトに取り組んでおり、HTMLとCSSを使用して全体のレイアウトを達成する必要があります。コンテンツを複製することなく、Javaスクリプトを使用してコンテンツを1つの列レイアウトから別の列レイアウトに移動することは可能ですが、HTMLとCSSを使用して同じ達成可能性を確認できますか?例えばレスポンシブページの重複コンテンツの回避
テイクデスクトップのデザイン
--page-------------------
| -------- -------- |
| |div 1 | | div 2| |
| -------- -------- |
-------------------------
しかし、その後、設計者はモバイル設計にdiv2
の下にdiv1
を移動した上で、次のようにレンダリングされ、以下の通りです。
--page--------
| -------- |
| |div 2 | |
| -------- |
| -------- |
| |div 1 | |
| -------- |
--------------
もちろん、ブロックレベルの要素がスタックする自然な方法は逆です。
--page-------------------
| -------- -------- |
| |div 1 | | div 2| | <--- shown on desktop
| -------- -------- |
| -------- |
| |div 1 | | <--- hidden on desktop
| -------- |
-------------------------
--page--------
| -------- |
| |div 1 | | <--- hidden on mobile
| -------- |
| -------- |
| |div 2 | | <--- shown on mobile
| -------- |
| -------- |
| |div 1 | | <--- shown on mobile
| -------- |
--------------
上記を用いて、div1
の内容を複製する。これはSEOにとって悪いことですか?明らかに、コンテンツはDOMなどで2回表示されるため、最適ではないため、速度は影響を受けます(ただし無視できる場合もあります)。
問題を緩和する可能性があるjavascriptベースではない実装可能な他のソリューションはありますか?
アドバイスをいただければ幸いです。
短い答えが時々あります。それはあなたがしようとしている変更の種類に非常に依存しています。問題がある特定の問題がありますか? –
javascriptなどのスクリプト言語を使わずに 'DOM(moving contents)'を変更することはできません。 'css'を使ってのみ表示または非表示にできますが、この場合は不要なコンテンツを複製する必要があります。 –
あなたのニーズに合わせてFlexbox(http://www.jordanm.co.uk/lab/contentchoreography)を使用することができます。 – wavetree