iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
Modern Web

1995到2021,php到react網站開發歷程系列 第 4

DAY4-比CS更好玩的CSS

前言:

昨天的進度中,我們大致完成了一個由HTML建構起來的網站,只是看起來真的是太陽春了。今天我們就透過CSS來加上一些會動又好看的特效吧!

我CSS有龍炮欸:

CSS的使用主要是靠他的選擇器,選擇器用的好你的網頁就是彩色的。

但有時候選不好也會是彩色的。

這裡我們舉以下例子:

h1{  
  color: red;   
}

h2{  
  color: orange;   
}

h3{  
  color: yellow;   
}

這裡的h1, h2, h3就是選擇tag並對其特性做改變的選擇器,配合前面的html就可以直接選取你要操作的tag,並做出各種神奇的特效,而關於這個選擇器更深的用法我覺得可以參考這篇文章:

css基本類型選擇器

介紹的很完整且好理解。

那接下來我們就來幫上面寫好的html做一點裝飾吧!

首先必須在html檔中下面加入這串指令:

...
<title>個人網頁</title>
    <link rel="stylesheet" href="style.css">

</head>
...

之後在同一個資料夾創立一個style.css的檔案,內容如下:

@import url('https://fonts.googleapis.com/css?family=Poppins:100,200,300,400,500,600,700,800,900&display=swap');

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  list-style: none;
  font-family: 'popins', sans-serif;
}

body{
   background-color: #f3f3f3;
}

.wrapper{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  height: 100%;
  display: flex;
  box-shadow: 0 1px 20px 0 rgba(69,90,100,.08);
}

.wrapper .left{
  width: 35%;
  background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
  padding: 30px 25px;
  text-align: center;
  color: #fff;
  background-size: 400% 400%;
  animation: change 10s ease-in-out infinite;
}

@keyframes change
{
    0%{
        background-position: 0 50%;
    }
    50%{
        background-position: 100%  50%;
    }
    100%{
        background-position: 0 50%;
    }
}

.wrapper .left img{
  border-radius: 10px;
  margin-bottom: 10px;
  height: 300px;
  width: auto;
}

.wrapper .left h4{
  margin-bottom: 10px;
  font-size: 30px;
}

.wrapper .right{
  width: 65%;
  background: #fff;
  padding: 30px 25px;

}

.wrapper .right .info{
  margin-bottom: 25px;
}

.wrapper .right .info h3{
  margin-bottom: 15px;
  padding-bottom: 5px;
  border-bottom: 1px solid #e0e0e0;
  color: #353c4e;
  text-transform: uppercase;
  letter-spacing: 5px;
}

.wrapper .right .info_data{
  display: flex;
  justify-content: space-between;
}

.wrapper .right .info_data .data{
  width: 45%;
}

.wrapper .right .info_data .data h4{
  color: #353c4e;
  margin-bottom: 5px;
}

.wrapper .right .info_data .data p{
  font-size: 13px;
  margin-bottom: 10px;
  color: #919aa3;
}

.social_media h3{
  margin-bottom: 15px;
  padding-bottom: 5px;
  border-bottom: 1px solid #e0e0e0;
  color: #353c4e;
  text-transform: uppercase;
  letter-spacing: 5px;
}

a{
  font-size: 20px;
  background: #e73c7e;
  text-decoration: none;
  color: black;
  padding: 3px;
  border-radius: 5px;
  letter-spacing: 2px;
}

li{
  margin-bottom: 10px;
}

a:hover{
  transform: scale(1.4);
  background: #ee7752;
}

.intro h3{
  margin-bottom: 15px;
  padding-bottom: 5px;
  border-bottom: 1px solid #e0e0e0;
  color: #353c4e;
  text-transform: uppercase;
  letter-spacing: 5px;
}

這裡我來大概講解一下上面幾個比較厲害的CSS code吧!

漸層效果:

.wrapper .left{
  width: 35%;
  background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
  padding: 30px 25px;
  text-align: center;
  color: #fff;
  background-size: 400% 400%;
  animation: change 10s ease-in-out infinite;
}

@keyframes change
{
    0%{
        background-position: 0 50%;
    }
    50%{
        background-position: 100%  50%;
    }
    100%{
        background-position: 0 50%;
    }
}

這裡先用到的是linear-gradient()這個指令,可以看到第一個是頃斜的角度,所以我們這個網站的顏色梯度會是向左頃45度角,再來後面可以看到有四個色碼,這就是我們漸層的四個顏色。

再來用到的是設定size: 400%和下面的animation指令,這讓我們可以做出一個來回動的大漸層圖片,在小尺度的範圍中看起來就是會變動的漸層背景,很有質感又很簡單,是不是很好用呢?

按鈕放大效果:

a:hover{
  transform: scale(1.4);
  background: #ee7752;
}

再來是當我們滑鼠移到按鈕上時,按鈕就會變大的效果,主要目的是給使用者一種回饋感,讓人有好像真的要按下去的感覺。

要達成這些就要用到:hover這個指令,可以偵測出滑鼠是否a的上方,再來透過transform的scale()放大1.4倍,當然也可以更大或更小,這就讓大家自己去試啦!

接著我們再打開剛剛的網站:

是不是整個都不一樣了呢?那今天目標的網頁就完成啦!

小結:

結束今天的進度後,希望大家都大概知道怎麼用CSS來裝飾自己的網頁了,但各位應該也有發現裡面許多按鈕其實還沒有實際的作用,這部分我預計在明天繼續做說明,同時介紹另一個非常厲害的工具—php,可以用來操作html的內容,做出更豐富的網站!

那今天就到這!明天見!


上一篇
DAY3-HTML一定要配CSS
下一篇
DAY5-PHP這是什麼老東西
系列文
1995到2021,php到react網站開發歷程30

尚未有邦友留言

立即登入留言