---
# System prepended metadata

title: "全職鬥士1組-\U0001F3C5第一週小組任務筆記"

---

# 全職鬥士1組-🏅第一週小組任務筆記
# 第一週小組作業討論

## 第一題

以下範例程式碼的 .text 高度是多少？(請不要用瀏覽器觀察)
1. 90px
2. 92~93px
3. 120px

### HTML
```
<div class="text">
  <img alt="" src="logo.png" height="90" /> 
</div>
```


:memo:討論：&lt;img&gt;的 heigh 屬性可以設定圖片高度，以px為單位。加上&lt;img&gt;下方的預設2~3px留白，答案為2
[&lt;img&gt;屬性可參考 w3school](https://www.w3schools.com/tags/tag_img.asp)
<br>


## 第二題
請問 .box 的高度是多少？(請不要用瀏覽器觀察)

### HTML

```
<div class="box">
  <h1>標題</h1>
  <p>段落</p>
  <p>段落</p>
  <img alt="" src="logo.png" height="90" /> 
</div>
```

### CSS
```
.box h1{
  font-size: 24px;
  line-height: 36px;
}
.box p{
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 24px;
}
.box img{
  display: block;
} 
```

:memo:討論：在 `display:block` 的狀況下，元素設定的 line-height 高度可視為元素高度。如果 `line-height : 1`，則會是該元素 font-size 的一倍，`line-height : 1.5` 則為 1.5 倍，以此類推。因此：
&lt;h1&gt; 高度為 36px
&lt;p&gt; 高度為 16（font-size） * 1.5（倍） + 24（margin-bottom） = 48px
&lt;img&gt; 高度為 90 px
合計：222px

~~display:block會影響line-hight???
我想說在區塊元素的狀況下，行內還不確定（等等試試）~~
[行內元素的 line-height 測試](https://codepen.io/YCH06/pen/pojjLmQ)
line-height 在區塊元素中才有作用的樣子:thumbsup:

![](https://i.imgur.com/6NJmUnk.jpg)

<br>

## 第三題
請問 .card 的寬高與高度各是多少？(請不要用瀏覽器觀察)

### HTML
```
<div class="card"></div>
```
### CSS
```
.card{
  width: 50px;
  height: 50px;
  border-bottom: 3px solid orange;
  border-right: 3px solid #000;
  background: #000;
  padding: 20px;
}
```
:memo:討論：border 會從元素向外長，padding 會從元素內部撐開。所以 .card 的寬高如下：
50（width）+ 3（border-right）+ 20（padding-left）+ 20（padding-right）= 93px
50（height）+ 3（border-bottom） + 20（padding-top）+ 20（padding-bottom） = 93px

備註：如果下 `box-sizing: border-box;`，padding、border 會自適應原本設定的寬高。

<br>

## 第四題
請優化此[程式碼](https://codepen.io/liao/pen/OJyLOzr)，優化重點為：
* 在不影響外觀情況下，試著將不必要的 CSS 移除或整合
* 請不用更動 HTML 程式碼，僅需優化 CSS 程式碼

:memo:討論：[優化後 Codepen](https://codepen.io/dannyliume/pen/zYvvrqG?editors=1100)
.header , .main , .footer 均為 .wrap 的子層，預設父層有什麼屬性就會繼承什麼。
因此只要在 .wrap（父層）下 `width: 500px; margin: 0 auto; font-size: 20px;`即可影響到 .header , .main , .footer，達到優化目的。

<br>

## 第五題

請優化此[程式碼](https://codepen.io/liao/pen/qBOWPea)，並將程式碼連結放到 Codepen 上。優化重點為：

* 在不影響外觀情況下，將重複的 CSS 樣式，獨立成一個共用的 class
* 可依照您設定的共用 class，適當調整 HTML 結構

:memo:討論：[Codepen 連結](https://codepen.io/Jimmy_Wu/pen/YzyyXMm?editors=1100)
HTML 中，把需要置中的部分在外層加上 .container 做控制，接著在 CSS 裡將共用（可工具化）的部分獨立出來，像是 `padding-top: 20px; padding-bottom: 20px;`可寫成 .py-20　並加入到欲作用的 class 中。
.logo 原本是用 margin 去推位置，改為以父層 .container 的 padding 去推。

<br>

# 其他討論
* 如果想看頁面中所有元素的大小和位置，可以在 CSS 設定 outline 屬性，依序為框線大小、框線樣式、框線顏色。
```
*{
    outline: 1px solid #ccc
}
```
* 頁面滾動到特定高度時會出現內容的 Plugin：[AOS](https://michalsnik.github.io/aos/)
*經 Joe 測試可以用在 Vue*
* [Hex-liveStream-course．第一週筆記](https://www.notion.so/Hex-liveStream-course-4da69f24b65a4d0dbcab9a62a4b02202)
* [那些 CSS 偽元素可以幫你做的 10 個效果](http://gela-notepad.blogspot.com/2016/03/fw-css-10.html)
* [marker 偽元素](https://developer.mozilla.org/en-US/docs/Web/CSS/::marker)
* [用 data-* 屬性做出純 CSS 的 tooltip](https://muki.tw/tech/pure-css-tooltip-data-tag/)

# 助教回應
https://courses.hexschool.com/courses/808825/lectures/15598247
哈囉，全職鬥士 1 組 

我是六角助教，穎旻


恭喜大家過關了～答案都是正確的哩，表示各位觀念都很好唷

程式碼的部分，第五題給你們小建議


1) 建議在四大區塊都在 class 最前面寫上他代表的區塊，像是 header content（可以包白色和粉色區塊） footer 等等，在閱讀程式碼時也能立即知道這塊代表的位置


其他都很棒唷～～CSS 的部分寫得很好

已經幫你們在 exel 上標示完成了：D