見出し画像

Daily HTML&CSS #004 画面のサイズによって変更させる

ファームノートでUXデザイナーをやっている秋山ウテです。

最終的にはReactでパーツ実装していくためにHTMLとCSSをやりたおそうというこの企画。

目次
justify-contentで揃え方を変える
画像の比率をそのままに画面サイズいっぱいに

justify-contentで揃え方を変える

この部分は左揃えですが、こんな感じでやってます。

.articleActionWrap {
  width: 100%;
  height: 40px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

これを「justify-content: center」とすると中央揃えになったりします。

その他にも均等に揃えたりいろいろ便利なflexboxでございます。

画像の比率をそのままに画面サイズいっぱいに

画面のサイズによって画像を変えられないかと調べてたところ、こんな感じでやればいいことがわかりました。

.img {
  max-width: 100%;
  height: auto;
  text-align: center;
}

すると、こんな感じになります。

大変便利でございますね。

明日は、コードが洗練されていないので、磨いていきたいと思いますー

ではでは!

ちなみに、コードはこんな感じです。

.headerIcon {
  color: #acacac;
  margin: 8px 8px 8px 8px;
}

.articleIcon {
  color: #373942;
  margin: 8px 0px 8px 0px;
}

.actionIcon {
  color: #373942;
  margin: 8px 8px 8px 0px;
}

ul.headerWrap {
  width: 100%;
  height: 40px;
  background: #ffffff;
  border-bottom: 1px solid #f3f3f3;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

i:hover {
  color: #27ae60;
  text-shadow: #acacac 0px 0px 16px;
}

i {
  margin: 0px 0px 0px 8px;
  padding: auto;
}

div.left {
  position: absolute;
  left: 0;
}

div.right {
  position: absolute;
  right: 0;
}

.img {
  max-width: 100%;
  height: auto;
  text-align: center;
}

.article {
  align-items: center;
  border: 0 solid #000;
  box-sizing: border-box;
}

.articleHeader {
  width: 100%;
  height: 40px;
  background: #ffffff;
  border-bottom: 1px solid #f3f3f3;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.userNameAndAreaNameWrap {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin: 8px 8px 8px 8px;
}

.userName {
  font-size: 1vh;
  font-weight: bold;
  color: #373942;
  padding: auto;
}

.areaName {
  font-size: 1vh;
  color: #373942;
  padding: auto;
}

.articleActionWrap {
  width: 100%;
  height: 40px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.likeCounter {
  font-size: 2vh;
  font-weight: bold;
  color: #373942;
  padding: auto;
  left: 0;
}

.myComment {
  font-size: 2vh;
  color: #373942;
  padding: auto;
  left: 0;
}
<!DOCTYPE html>
<html>
  <head>
    <title>Parcel Sandbox</title>
    <meta charset="UTF-8" />
    <link rel="stylesheet" type="text/css" href="src/styles.css" />
    <link
      href="https://use.fontawesome.com/releases/v5.0.6/css/all.css"
      rel="stylesheet"
    />
  </head>
  <body>
    <nav>
      <ul class="headerWrap">
        <div class="left">
          <i class="fab fa-instagram fa-2x logo iconDefaultColor"></i>
        </div>
        <div class="right">
          <i class="fas fa-compass fa-lg headerIcon"></i>
          <i class="fas fa-heart fa-lg  headerIcon"></i>
          <i class="fas fa-user fa-lg  headerIcon"></i>
        </div>
      </ul>
    </nav>
    <article class="article">
      <header class="articleHeader">
        <i class="fas fa-user-circle fa-2x articleIcon"></i>
        <div class="userNameAndAreaNameWrap">
          <div class="userName">UserName</div>
          <div class="areaName">areaName</div>
        </div>
      </header>
      <img
        class="img"
        src="https://uploads.codesandbox.io/uploads/user/0f2ca779-46fd-45fc-b152-5f37e510b394/wRwe-eggRice.jpg"
        alt="たまごかけご飯"
        title="たまごかけご飯"
      />
      <div class="articleActionWrap">
        <i class="far fa-heart fa-lg actionIcon"></i>
        <i class="far fa-comment fa-lg actionIcon"></i>
        <i class="fas fa-retweet fa-lg actionIcon"></i>
      </div>
      <div class="likeCounter">いいね! 2件</div>
      <div class="myComment">美味しいです。すごく美味しいです。</div>
    </article>
  </body>
</html>
このnoteを気に入っていただけたら、
「♡スキ」を押していただけると非常に嬉しいです。
より良いコンテンツを作っていく原動力になるのでぜひ!
リクエストもお待ちしているので、お気軽にコメントくださーい!


この記事が気に入ったらサポートをしてみませんか?