<div class="wrap">
<div class="card">
<div class="card__image"></div>
<div class="card__body">
<h2 class="card__title">タイトルタイトル</h2>
<div class="card__note">
<p class="card__text">ここにはテキストが入ります。ここにはテキストが入ります。ここにはテキストが入ります。ここにはテキストが入ります。ここにはテキストが入ります。</p>
<a href="#" class="card__link"> リンクです </a>
</div>
</div>
</div>
</div>
@media screen and (min-width: 768px) {
.card {
&__body {
display: contents;
}
}
}
:root {
--font-size-lg: calc(18rem / 16);
--font-size-md: calc(14rem / 16);
--font-size-sm: calc(10rem / 16);
}
.wrap {
display: flex;
justify-content: center;
align-items: center;
width: 100vw;
height: 100vh;
padding: 0 20px;
}
.card {
width: 100%;
max-width: 400px;
border: 1px solid currentColor;
padding: 12px;
&__image {
width: 100%;
height: 20vw;
max-height: 300px;
background-color: #3c3c3c;
}
&__body {
display: flex;
margin-top: 1em;
padding-right: 10px;
}
&__title {
writing-mode: vertical-rl;
font-size: var(--font-size-lg);
letter-spacing: 0.2em;
padding: 0 1em;
}
&__note {
display: flex;
flex-direction: column;
}
&__text {
font-size: var(--font-size-md);
line-height: 2;
}
&__link {
font-size: var(--font-size-md);
margin-top: auto;
margin-left: auto;
}
}
@media screen and (min-width: 768px) {
.card {
display: flex;
flex-direction: column;
width: 33vw;
padding: 20px;
&__image {
margin-top: 1em;
}
&__body {
display: contents;
}
&__note {
margin-top: 1em;
}
&__title {
order: -1;
writing-mode: horizontal-tb;
letter-spacing: 0;
padding: 0;
}
}
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.