- Amazonリンクをnoteのデザインを参考に、画像を大きくして説明文を省略しました。
- CSSを更新して、デスクトップとモバイル両方での表示を変更し、商品名、画像、ボタンのレイアウトを調整しました。
1. Amazonリンクのスタイルを変更
Amazonリンクのスタイルを変更しました。
今回は noteを参考にして、画像を大きくし、説明文を省略するようにしました。
Amazonリンクの例↓
2. 更新後のCSS
/** amazon リンク
* ブログカードに寄せた *
* 2024-08-31 note風にした
*/
.product-item-box {
display: flex;
padding: 0;
width: 100%;
margin-top: 10px;
border: 1px solid rgba(93, 89, 75, 0.5);
border-radius: 4px;
}
.product-item-thumb {
order: 2;
width: 225px !important;
height: 225px !important;
padding: 16px;
margin: 0 !important;
}
.product-item-thumb a {
margin: 0 !important;
}
.product-item-thumb img {
vertical-align: middle;
width: 193px;
height: 193px;
object-fit: contain;
}
.product-item-thumb-l,
.product-item-thumb .switchimages {
display: none;
}
.product-item-content {
order: 1;
margin: 0;
margin-top: auto;
margin-bottom: auto;
padding: 16px;
vertical-align: middle;
-webkit-box-orient: vertical;
width: calc(100% - 225px);
}
.product-item-title {
margin: 0;
}
.product-item-title a {
font-size: 20px;
font-weight: 600;
color: var(--cocoon-text-color);
text-decoration-line: none;
-webkit-line-clamp: 2;
overflow: hidden;
margin-bottom: 16px;
}
.product-item-buttons {
display: flex;
justify-content: flex-start;
flex-wrap: nowrap;
justify-content: space-between !important;
}
.product-item-buttons > * {
flex: 1 0 auto;
padding-bottom: 8px !important;
}
.product-item-buttons > *:nth-of-type(1) {
margin-left: 0 !important;
}
.product-item-buttons > *:nth-of-type(3) {
margin-right: 0 !important;
}
.product-item-buttons a {
margin: 0;
padding: 4px 12px;
font-size: 12px;
border-radius: 3px;
}
.shoplinkamazon a {
background: #a08010;
}
.shoplinkrakuten a,
.shoplinkyahoo a {
background: #5d594b;
}
.shoplinkyahoo a {
background: #7d692b;
}
.product-item-snippet {
flex-direction: column;
font-size: 0.8em;
}
.product-item-maker {
font-size: 12px;
margin-top: 4px;
margin-bottom: 4px;
}
.product-item-price .item-price {
font-weight: 700;
font-size: 14px;
color: var(--cocoon-text-color);
}
.product-item-admin {
right: 6px;
left: auto;
}
.product-item-description,
.product-item-review,
.product-item-error {
display: none;
}
/** amazonリンクのモバイル表示を整理 */
@media screen and (max-width: 480px) {
.product-item-box {
flex-flow: column;
width: auto;
}
.product-item-thumb {
order: 1;
margin-left: auto !important;
margin-right: auto !important;
}
.product-item-content {
order: 2;
margin: 12px;
width: auto;
margin-top: 6px;
}
.product-item-buttons > * {
width: auto;
}
.product-item-price .item-price {
font-size: 16px;
}
}
@media print {
.product-item-box {
display: none;
}
}
2-1. 【ポイント】object-fit: contain(画像の縦横比)
商品画像の表示には、object-fit: contain;
を設定しています。
width, heightを125pxに固定して、その範囲内で縦横比を維持しつつなるべく大きく表示するようにしています。
- コンテンツの元のアスペクト比(縦横比)を保持する
- コンテンツ全体が表示されるようにサイズを調整する
特に、異なるサイズや縦横比の画像を統一されたレイアウトで表示したい場合に有用です。
2-2. .product-item-boxのHTML構造
CocoonテーマのAmazonリンクは、以下のようなHTML構造になっています。
.product-item-box.no-icon
- figure.product-item-thumb
- a.product-item-thumb-link.image-thumb
- img.product-item-thumb-image
- div.product-item-thumb-l.image-content
- img
- a.swatchimages
- [複数の div.image-thumb.swatch-image-thumb.si-thumb]
- img
- div.image-content
- img
- div.product-item-content.cf
- div.product-item-title
- a.product-item-title-link
- div.product-item-snippet
- div.product-item-maker
- div.product-item-price
- span.item-price
- span.acquired-date
- div.product-item-description
- div.product-item-review.item-review
- span.fa.fa-comments-o
- a.product-item-review-link.item-review-link
- div.product-item-buttons
- div.shoplinkamazon
- a
- div.shoplinkrakuten
- a
- div.shoplinkyahoo
- a
- div.product-item-admin
- a.cache-delete-link
3. 従来のCSSを振り返る
Amazon商品紹介リンクをショートコードで入れられるようにした
Cocoonには商品紹介のショートコードがあります。 これまでは手動でAmazonアソシエイトツールバーでリンクを取得していたんですが、これがまぁ大変。 ショートコードを利用するとISDNなどの商品コードだけで画像や商品名を表示することできることに気づきました。 これまでのやり方は大変だった 見出しやボタンを組み合わせて、作っていました。 画像リンクやテキストリンクなどをコピーしてくるのに、かなり時間がかかります。 それを、こんなふうにしました。 見た目にもコンパクトだし、何...
[Cocoon] Amazonリンクに個別にPR表記をつける[CSS]
ちょっと商品紹介をしたいとき 記事の中にちょっとAmazonの商品紹介を入れたいときがあります。記事全体がPRでもないので、記事先頭にPR表記を入れるのにも抵抗があります。 そういうときのために、Amazonリンクに個別にPR表記をつけるようにCSSを変更しました。 テーマのstyle.cssに以下のコードを追加しました。 /** Amazonリンクに個別にPR表記をつける 2024-05-01*/ .product-item-title::before { content:...
/** amazon リンクをブログカードに寄せた * */
.product-item-box {
padding: 1.6% 2.2% 2%;
width: 100%;
margin-top: 10px;
border: 1px solid rgba(93, 89, 75, 0.5);
border-radius: 4px;
}
.product-item-error {
display: none;
}
.product-item-thumb {
position: relative;
float: right !important;
margin-left: auto;
margin-right: 0 !important;
}
.product-item-thumb a {
margin: 0 !important;
}
.product-item-thumb img {
margin-left: auto !important;
margin-right: auto !important;
}
@media screen and (min-width: 769px) {
.product-item-box {
display: block !important;
}
.product-item-content {
padding-left: 0;
}
}
.product-item-content {
display: block;
position: relative;
margin: 0;
}
.product-item-title a {
margin-top: 8px;
font-size: 18px;
font-weight: 600;
color: var(--cocoon-text-color);
text-decoration-line: none;
}
@media screen and (max-width: 1023px) {
.product-item-title a {
font-size: 16px;
}
}
@media screen and (max-width: 480px) {
.product-item-content {
text-align: left !important;
}
}
.product-item-admin {
right: 6px;
left: auto;
}
.product-item-snippet {
font-size: 14px;
}
@media screen and (max-width: 834px) {
.product-item-box .product-item-title a {
font-size: 15px;
font-weight: 900;
line-height: 18px;
}
.product-item-box .product-item-description {
line-height: 16.8px;
font-size: 14px;
}
}
/** amazonリンクのモバイル表示を整理 */
@media screen and (max-width: 834px) {
.booklink-link2,
.kaerebalink-link1,
.tomarebalink-link1,
.product-item-buttons {
flex-wrap: nowrap;
justify-content: flex-start;
}
.booklink-link2 > * > a,
.kaerebalink-link1 > * > a,
.tomarebalink-link1 > * > a,
.product-item-buttons > .shoplinkyahoo > a {
font-size: 9px;
}
.booklink-link2 > *,
.kaerebalink-link1 > *,
.tomarebalink-link1 > *,
.product-item-buttons > * {
width: auto;
}
}
/**amazonリンクの表示順序を変更*/
.product-item-title {
margin-top: 4px;
}
.product-item-title a {
font-size: 20px;
}
.product-item-snippet {
display: flex;
flex-direction: column;
font-size: 0.8em;
}
@media screen and (max-width: 1023px) {
.product-item-title a {
font-size: 18px;
}
.product-item-snippet {
font-size: 14px;
}
}
.product-item-description {
order: 1;
margin-bottom: 6px;
}
.product-item-maker {
order: 2;
font-weight: 700;
margin-right: 10px;
display: none;
}
.product-item-price {
order: 3;
}
.item-price {
font-weight: 700;
}
.product-item-review {
order: 4;
margin-top: 6px;
}
/** Amazonリンクを控えめにする */
.item-price {
color: var(--cocoon-text-color);
}
.shoplinkamazon a {
background: #a08010;
}
.shoplinkrakuten a,
.shoplinkyahoo a {
background: #5d594b;
}
.shoplinkyahoo a {
background: #7d692b;
}
/** Amazonリンク(モバイル版)*/
@media screen and (max-width: 480px) {
.entry-content > .product-item-box {
margin-left: auto;
margin-right: auto;
width: calc(100vw - 24px);
}
.product-item-admin {
right: 12px;
}
.product-item-admin .cache-delete-link {
margin-right: 0;
}
.product-item-content {
width: calc(100vw - 44px) !important;
}
}
こちらもどうぞ。
Amazon商品紹介リンクをショートコードで入れられるようにした
Cocoonには商品紹介のショートコードがあります。 これまでは手動でAmazonアソシエイトツールバーでリンクを取得していたんですが、これがまぁ大変。 ショートコードを利用するとISDNなどの商品コードだけで画像や商品名を表示することできることに気づきました。 これまでのやり方は大変だった 見出しやボタンを組み合わせて、作っていました。 画像リンクやテキストリンクなどをコピーしてくるのに、かなり時間がかかります。 それを、こんなふうにしました。 見た目にもコンパクトだし、何...
ブログをnote風のデザインにしてみた(ワンカラムデザイン)
今回はCocoonとCSSを使って、note風のシンプルなブログデザインに変更してみました。 note風デザインの記事一覧 「note(ノート)」というブログサービスをご存知ですか? ブログサービスといえば、ヤフーブログ、アメブロ、はてなブログといろいろありますが、noteの特徴は簡単にいえば、投稿されたブログにカンパしたり、有料記事として公開することができること。 でも、それ以上にnoteの特徴になっているのは、シンプルなデザインだと思います。 2カラムのアメブロと比べてみ...
QRコードを読み込むと、関連記事を確認できます。