Luxeritas のブログカードの使い方&カスタマイズ
ブログカードの使い方とカスタマイズのためのクラス情報です。
ブログカードは内部リンクと外部リンクで全く同じ要領で使えるのですが、通常だと内部リンクにもURLが表示されてしまいます。
内部リンクにはURLはなくてもいいので、タイトルとアイキャッチだけのシンプルなカードにしたい。そこで外部リンクに付与される .external で内部リンクと外部リンクの表示項目を変えようとしたたのですが…
ブログカードには外部リンクであっても .external がつかないため、内部と外部で振り分けができないことが発覚。というわけで、内部と外部は同じデザインにするしかなさそうです。
ブログカードに含まれる要素
ブログカードに記載されている要素は5つ。
画像、タイトル、抜粋、ファビコン、URL。構造自体は単純なので、それぞれのクラス名さえ分かれば、要素を非表示にしたりカスタマイズをすることができます。
Luxeritasのブログカードの使い方
WordPress には URL だけの行を自動でカード化する機能がありますが、Luxeritas ではそれは避け、ビジュアルエディターの上に表示されているブログカードボタンを使って挿入します。
ポップアップしたウインドウにURLとタイトルを記入すると、 data-blogcard="1″ という属性が加えられたリンクが作成されます。実際の表示ではこのリンクがブログカードに変換されます。
先にリンクを作っておいて、ブログカード化したいものだけ後から ”data-blogcard="1″”をつけてもいい気も。
ブログカードの色やサイズといったデザインは「外観カスタマイザー」の『ブログカード』から変更できます。画像の左右位置もここで設定します。
ブログカードの構造
ブログカードの要素はすべて a タグ(リンクタグ)に挟まれています。divはただの入れ物で、装飾は a タグで行われています。
.blogcard | div ただの箱 |
.blogcard-href | a 要素を装飾。ボックスを作っている |
.blogcard-img | img アイキャッチ画像。100pxx100px |
.blog-card-title | p 記事タイトル |
.blog-card-desc | p 抜粋 |
.blogcard-link | p リンクURLとサイトアイコン?favicon? |
favicon は .blogcard-link に挟まれています。
装飾に使われている .blogcard-href では、枠線を書いたりサイズ設定などを行っています。
display: block; position: relative; padding: 20px; border: 1px solid #ddd; background: #fff; color: #111; text-decoration: none; max-width: 540px; min-height: 140px;
画像 img は .blogcard-img
border: 1px solid #ddd; float: left; margin: 0 20px 15px 0;
画像に関しては .blogcard-img 枠線とマージンだけを設定。画像の枠線は外観カスタマイザーで消すことができるので、設定次第では枠線はないかも。
カスタマイズ(外部リンクと内部で変えられないので使えなかった例)
上のブログカードは外部リンクと内部リンクで振り分けができずボツにしたものですが、参考になればということで掲載しておきます。アイキャッチとタイトルだけのシンプルになっています。
このデザインの問題は次の3点
- 外部リンクには影響を及ぼしたくない
- 画像の大きさとボックスの高さが合わない
- 真ん中にきてほしいタイトルがボックスの上に張り付いてる
外部リンクには Luxeritas の設定で external をつけているので、疑似否定クラス:not(.external)を使うことができます。しかしブログカードでは external がつかないため疑似否定クラスでの振り分けができません。
画像の大きさとボックスの高さは画像サイズの100pxにボックスの高さを合わせることで解消。
タイトルがボックスの上に張り付いているのはちょっと厄介。上下の位置を指定する vertical-align:middle はインライン要素(span とか b みたいな文中に置く要素)にしか効かないんですね。
ブロック要素の p には使えません。p をinlineにすると横に置きたい画像とのバッティングが発生するのでこれもだめ。
ブロック要素を真ん中に配置する方法は table-cell か flex-box の2択となります。table-cell は画面サイズの変化と相性がわるいので、flex-box を使っています。
<style> .blog-card-desc:not(.external),.blogcard-link:not(.external){display: none;} .blogcard-href:not(.external){ margin: 0;padding: 0; /*min-heightは元のを消すため。102にしているのは諸事情による*/ height: 102px;min-height: 102px; /*flexboxの対応*/ display: -webkit-flex;display:flex;-webkit-align-items: center;align-items: center; } .blogcard-img:not(.external){ margin: 0 10px 0 0;border-style: dashed;border-color: #ccc; border-width: 0 1px 0 0;width: 100px;height: 100px; } .blog-card-title:not(.external){margin:0 5px 0 0;padding:0;} </style>
できたのがこれ。結構気に入ったのに、使えなくて残念無念。
ディスカッション
コメント一覧
はじめまして、nenemamaです。
Luxeritasの外部リンクのカスタマイズ方法をググっていて、こちらのページにたどり着きました。
お聞きしたいことがありコメントさせていただきますが、不可でしたら削除いただけますと幸いです。
Luxeritasだと、「カスタマイズ(外観)⇒外部リンク」にて簡単に外部リンクにアイコンを付けることが可能ですが、カエレバなどを利用していると、そこにもアイコンが自動で表示されてしまうので、デザインが崩れてしまうのが気になっています。
素人なりにどうにかCSSなどで修正してカエレバ・ヨメレバ掲載時に外部リンクのアイコンを外すことができないか挑戦してみたものの、どれも的外れ。。。
結局、自分のサイトでは外部リンクのアイコン自体を取ることにしました。
やるぞう様のサイトでもカエレバを利用されているかと思いますが、そもそもLuxeritasで外部リンクのアイコンは設定されていますか? もしカエレバのみ外部リンクのアイコンを外す手順などご存知でしたら、ぜひ記事化いただけたらな、と思っています。
よろしくお願いいたします。
nenemamaさん
こんばんは、はじめまして。
Luxeritasで外部リンクにアイコンをつける設定をすると、CSSからは特定のURLだけアイコンを外すことはできませんね。
特定のURLだけアイコンを外す方法として
a[href^=”https://www.amazon.co.jp”]::after{content: ”;}
こういうのをごらんになったと思います。でもこの方法は使えないんですよね。
LuxeritasではリンクURLの後ろに要素で付加しているので、CSSから操作することはできません。
そういうわけで、ぼくも外部リンクアイコンはつけていません。
やるとしたら、「外部リンクにclass=”external”を付加する」にチェックを入れる、「記事の外部リンクにアイコンをつける」のチェックを外す。
.post a.external::after{ text-decoration: none;margin-left:5px; font-family: FontAwesome;content: “\f08e”;}
a[href^=”https://www.amazon.co.jp”]::after{content: ”;}
こんな感じでしょうか。
めんどうなので、外部リンクのアイコンをつけるならプラグインを使うほうが簡単ですね。
——————
と、思ったのですが、工夫したらできました。
ちょっと面倒ですがこちらに書いたので、よかったらご覧ください。
早速ありがとうございます!!
しかも解決策まで記事化していただき、感謝です!!
早速試してみたのですが、こちら今日から旧正月連休ということもあり、子どもたちの妨害を受けてなかなかうまくすすめられず…(汗)
時間を見つけて設定してみます!!
まずは御礼まで。本当にありがとうございました!!
ピンバック & トラックバック一覧
[…] ブログカードのカスタマイズ参考記事:https://yaruzou.net/luxeritas-blog-card […]