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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

4324閲覧

入力がない場合は表示しない、という設定について

hashimoto-japan

総合スコア8

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/05/28 01:26

編集2018/05/31 06:54

CMSを使用して、記事部分を構築していますが、
(Owlet(アウレット)という言語を使用したシステムです。このCMS自体はPHPで書かれているようですが、当方で触れるのはCSSとhtmlの部分のみとなります。)
それぞれの項目にタグコードを設定し、管理画面で入力した情報を表示させています。

ただ、入力は任意で、入力した項目のみを表示させたいのですが、
cssでその項目にスタイルを施したものに関しては、入力がなくてもスタイルのみが表示されてしまいます。
本来は未入力であればそのスタイル自体も表示しないようにしたいのですが、
未入力だと、もちろん入力しないものは表示されませんが、スタイルのみ表示されてしまう、という現象です。

これを、
「入力がない項目に関しては、表示させない」、という風に設定したいのですが、
当方関数?PHP?がイマイチ理解できておらず、四苦八苦しています。

どなたかご教授いただけないでしょうか。
該当部分のコードは下の8行の<p>の部分で、
{[------]} この部分にはシステムで設定したコードが入るようになっています。

<div class="primary"> <div class="main-contents"> <div class="blog-shoulder"> <p class="blog-category">{=directory(@directory)['name']=}</p> <p class="blog-body-date">{[日付]}</p> </div> <h2 class="blog-naka-ttl">{[ブログタイトル]}</h2> <div class="blog-snsbox"> <ul class="blog-sns-list"> <a href="#" class="blog-sns-content-fb-link"><li class="blog-sns-content-fb">facebook</li></a> <a href="#" class="blog-sns-content-tw-link"><li class="blog-sns-content-tw">twitter</li></a> <a href="#" class="blog-sns-content-gg-link"><li class="blog-sns-content-gg">google+</li></a> <a href="#" class="blog-sns-content-hatena-link"><li class="blog-sns-content-hatena">Hatena</li></a> </ul> </div> <p class="blog-main-image">{[メイン画像]}</p> <p class="blog-txt01">{[テキスト01]}</p> <p class="blog-s-mid">{[見出し]}</p> <p class="blog-txt02">{[テキスト02]}</p> <p class="blog-sub-image">{[サブ画像]}</p> <p class="blog-s-mid">{[見出し02]}</p> <p class="blog-txt02">{[テキスト03]}</p> <p class="blog-sub-image-underline">{[サブ画像02]}</p> <a href="#" class="blog-back-link">実績・実例一覧へ戻る</a></div> </div>

CSS

1.blog-main-image { 2 margin-bottom: 30px; 3} 4 @media screen and (min-width: 768px) { 5.blog-main-image { 6 margin-bottom: 30px; 7} 8} 9.blog-txt01 { 10 margin-bottom: 30px; 11} 12 @media screen and (min-width: 768px) { 13.blog-txt01 { 14 margin-bottom: 30px; 15} 16} 17.blog-s-mid { 18 color: #41a9c6; 19 font-size: 20px; 20 padding-top: 10px; 21 padding-bottom: 10px; 22 border-top: 1px solid #41a9c6; 23 border-bottom: 1px solid #41a9c6; 24 margin-top: 10px; 25 margin-bottom: 10px; 26} 27 @media screen and (min-width: 768px) { 28.blog-s-mid { 29 font-size: 24px; 30} 31} 32.blog-sub-image { 33 margin-bottom: 30px; 34} 35.blog-sub-image-underline { 36 margin-bottom: 60px; 37 padding-bottom: 30px; 38 border-bottom: 1px solid #ccc; 39}

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

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

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

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

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

m.ts10806

2018/05/28 01:29

「CMSを使して」何のCMSでしょうか?またタイトルにある「ret関数」がコード内にどこにも出てきませんが、どのような関係性があるのでしょうか?
hashimoto-japan

2018/05/28 01:54

Owlet(アウレット)という言語を使用したシステムを使用しています。ret関数は当方が勝手に思い込んで書いてしまっているので、関数でなくて、cssやjs等で同じように入力のないものは表示しない、という風にできればと思っています。説明不足ですみません。。。
hashimoto-japan

2018/05/28 01:55

関数でなくても、他に方法があれば…という意味です。
m.ts10806

2018/05/28 01:57

質問者さんの思い込みのものですと知らない人には何のことかわからないので、なるべく簡潔に要件のみをタイトルにしてはいかがでしょうか?
hashimoto-japan

2018/05/28 01:59

承知いたしました。ありがとうございます。そういたします。
m.ts10806

2018/05/28 02:45 編集

質問は質問者さんのみが編集できます。環境情報などは回答に必要な情報となるのでなるべく質問に追記してください。このコメント欄はデフォルトでは非表示なので大事な情報が他の回答者の目につきにくくなります。
yyyy.yyyy

2018/05/30 03:26

HTMLとCSSのご質問というよりは、WPの組み込みについてのご質問でしょうか?タグにPHPを追加した方が、回答が得られやすいと思います。
hashimoto-japan

2018/05/30 03:37

ありがとうございます。システム自体はPHPで作られているようなのですが、こちらが触れる領域は、cssとhtmlのみになっておりまして…
m.ts10806

2018/05/30 03:44

「Owlet(アウレット)という言語を使用したシステム」部分を質問に追記してください。PHPでCMSというとWordPressというイメージが強くなります。
guest

回答1

0

ベストアンサー

CSSとHTMLでのみ実装する場合は、CSS3の疑似クラスを使用する方法があります。

CSS

1.blog-s-mid:empty{ 2display:none; 3}

ただ、比較的新しい手法なので古いブラウザでの確実性は保証できません…。
(旧IEやスマホ対応時は厳しいかも 参考:https://caniuse.com/#search=%3Aempty

もしjQueryを記載できるなら、そちらの方がブラウザ対応と更新性を考えると便利です。

jQuery

1$(function(){ 2 $("消したいclass名など:empty").remove(); 3 $(".blog-s-mid:empty").remove(); 4});

参考:http://blog.pinkmonky.net/detail/?id=36


ここから以下は余談かもしれませんが、
もし都度classを指定するのが大変な場合は、親要素からemptyを探し出す指定にすると便利かと思います。

jQuery

1$(function(){ 2 $(".main-contents").find(':empty').remove(); 3});

投稿2018/05/30 04:46

編集2018/05/30 04:49
yyyy.yyyy

総合スコア53

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

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

hashimoto-japan

2018/05/31 06:57

cssのパターンで解決しました!分かりにくい質問にとてもごていねいに回答いただきありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問