---
tags: 網頁切版直播班 - 2021 夏季班
---
# 8/17 線上 Slack 助教
## 今日助教輪班時間
焦糖:8/17 (二)
回覆時間:下午 2:00 -下午 6:00
## 發問規範
老師助教同學們好,**這是我的 Codepen**,我**原本預期**「HTML 第 8 行會出現 ...」,**但卻出現預期外的結果**「...」,想問下問題出在哪裡?
## 注意
1. 請各位先到 Slack 上將問題放在助教服務內的 thread,如圖

2. 遵循以上的發問規範以便助教查看問題,不可直接貼上網址而沒有說明文字或者只提供截圖
3. 助教會依照 Slack 上的順序回覆問題
4. 以下問題區塊只能由助教自行增加
5. 助教會將回覆寫在下方問題區塊
## 問題
1. 沈依蓉:
助教您好:
要怎麼做它左邊的hover藍色線才會不跳動?
Codepen: https://codepen.io/lily-oa/pen/VwbNGpX?editors=1100
我想做出像同學作品左邊區塊的hover滑動效果但我的會一直跳
同學作品: https://aer456987.github.io/admin_week5/#
> 助教回覆:助教有使用你的 CodePen 下去修改,可以[參考我的作法](https://codepen.io/yen-kg/pen/abWrVzM?editors=1100)。
---
2. Karen Huang:
助教你好,這是我的 repo 和 page:
我的第一個問題是,在視窗768~992px之間,我的熱門展覽的圖片會跑版,是否是因為我在img上設定 ratio 1x1 的關係?那我應該如何解決這個破圖問題,又可維持圖片在各視窗使寸下的正常顯示呢?
第二個問題是:我的子導覽列,即html 27-41 行的部分,在手機版上,音樂、戲劇這兩項竟然不會顯示...然後實際用手機(iphone 7plus)測試也怪怪的,我的寫法是套用8/10的每日任務,但結構略有不同,我用 ul li 來包nav,不曉得是否是這個原因(?)
第三個問題是,我的主視覺按鈕(html 16-18行) 在手機版目前是w-50,有看助教影片說明,要做md尺寸的時候要另外寫mixin,但我因是用bs-5 fix版本,沒辦法用mixin,想請教助教有沒有其他辦法也能不透過mixin 寫出平板以上的button 正常尺寸(?)
以上三個問題,謝謝助教
> 助教回覆:
> 1.首先這裡你先在 body 內對 img 標籤下 { max-width: 100%; height: auto } 做全域設定,接著把 .ratio 的相關設定都移除掉,然後對 img 標籤與外層 div 下 height: 100%,如[圖片](https://imgur.com/a/d5sUqvw)。 最後圖片的高度就會填滿區塊囉,你在試試看。
>
> 2.這個在 .subNavList 把 justify-content-center 修改成 --> justify-content-md-center 就可以解決囉!
>
> 3.若不使用 @mixin 的話,會建議把按鈕上面的 .w-50 拿掉,然後利用 padding 推擠出按鈕的寬高,再針對斷點去修改就好。
---
3. 周周:
助教您好~因問題比較多,我有把問題放在HackMD裡,再麻煩助教協助確認,感謝助教。
> 助教回覆:
>
> 1.有看到你設定 .w-50,它也有正確吃到這個屬性。只是這二個按鈕設定 width: 50% 是沒有辦法並排的喔!因為這二個按鈕之間有一點距離,因此不能設剛剛好 50%,你可以調整 49% 留一點空間就可以並排了。
>
> 2.這裡有看到你設定 .d-md-none,這一段的 CSS 是這樣的:
> @media (min-width: 768px) { .d-md-none: display:none } 也就是說它的解析度要大於 768px 才會觸發,所以自然手機不會隱藏哩!若要隱藏可以先下 .d-none,等到想要某個解析度要顯示時再使用 .d-*-block 就好了。
>
> 3.已解決
>
> 4.原因是 .d-none 是 { display: none !important } 的意思喔,所以你要加上 .d-md-block 電腦版才會顯示。
>
> 5.我在這裡有看到你使用 Swiper 來製作,這樣是不對的喔!這裡只會利用到 overflow-x: auto; 來產生橫向的 x 軸,不會使用 Swiper 套件,可以[參考範例](https://www.w3schools.com/cssref/tryit.asp?filename=trycss3_overflow-x)。
>
> 6.這裡不太確定你指的首頁沒有置中是哪裡呢 ? 因為你有下 .container 整個版型是置中沒有問題的,[如圖](https://imgur.com/a/yjwrONL)。在麻煩你說詳細一點唷 ><
---
4. Kent:
焦糖大您好,
想請問關於第五週切版,問題我放在 notion 裡頭附上照片以及對應的程式碼連結,再勞煩您解答了
https://kentclark.notion.site/e8fdd65afc244b4799b6eb396f808ee6
作業連結 repo、page
>
**Admin:**
> 1.這個可以參考 Bootstrap Modal 的 Toggle between modals 來進行切換喔!
>
> 2.符號的話,那是因為一開始 class 沒有加上 collapsed,補上去就可以囉!
>
> 3.這個可以[參考這個網站](https://botmonster.com/jquery-bootpag/#.YRtq_IgzaUk)的方式唷。
>
**Assignment:**
> 1.這個可以使用 jQuery 的 slideDown(),[參考範例](https://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_eff_slideup_slidedown)。
>
> 2.會有間距是因為字體的 line-height 所產生的,對著文字的外層 div 下 line-height: 0px 就會發現沒有距離哩,如[圖片](https://imgur.com/a/9rzf8pW)。
**BS 元件覆蓋:**
>1.這樣子寫是沒有問題的,但如果你想要把它們都拆開來分別各寫一個 .scss 也是可以。( 是我的話會想要拆開,這樣之後維護會比較能夠快速的知道改了什麼 )
>
>2.若要覆蓋樣式的話,會建議加上註解喔!例如這一段覆蓋是覆蓋在哪裡的內容,會建議用備註的方式來提醒,不然很多頁面常常覆蓋到最後會很亂。另外你這樣寫是沒有問題的,最主要還是要蓋的過去才是重點 XD
>
>3.若其他頁面也會使用到的話,可以拉出來 ~
---
5. Elaine Liu:
助教好,這是我的 repo 和 pages,我只有設按鈕的寬度,沒有設定區塊或容器的寬度,但不知為何,在響應式時會出現 x 軸(如下兩張圖),不知問題出在哪?是 HTML 結構有問題嗎?
補充:剛做了一些測試,應該是因為 BS 是從手機寫起的關係(我目前用的 calss 也沒有寫任何斷點),所以當我從大螢幕拉到小螢幕才會產生 x 軸,不曉得我的理解有沒有錯?還請助教解惑,感謝。 (已編輯)
> 助教回覆:會有 x 軸的問題是因為你加上了 .offset-md-1,因此在 768px 以上時會產生 margin-left,這裡移除掉就好了,可以利用 .col 來製作。另外提醒一個比較重要的地方,就是在 .row 之後一定要接著使用 .col-* 才對喔!
---
6. zyc:
焦糖助教您好,想針對8/11和8/12的每日任務來確認一下基本的CSS觀念是否有誤><
8/11 每日任務(偽元素)
問題1)transform: translate(-50%,-25%); 其中 y 軸的 25%怎麼來的?(我是先用肉眼判斷 x 或 y 軸是否偏移,然後才來設定是對的嗎?還是有更系統一點的方法?)
我的理解是,當設定 absolute 並調整 top/right/left/bottom 的時候需要用 transform:translate(x,y) 來矯正 top/right/left/bottom 的位置。 例如,top/bottom 的值若是正值或負值,在 translate x 就要加入相對的正負值。像是如果設定 top:50%; 則必須 translate(-50%,0);、top:-50%; 則必須 translate(50%,0); 這個概念對嗎?
問題2)為什麼要設定 left:50%?我嘗試在 codepen 移除 left:50%; 然後加入 transform: translate(0,-25%); 也有一樣的效果。這樣也可以對嗎?附上 codepen連結
問題3)請問焦糖助教自己在設定 absolute 的時候也會先用肉眼判斷是否要更改 top/right/left/bottom 的值嗎XD?
8/12 每日任務(fixed modal)
問題1)為什麼要設定transform: translate3d(0%, 0, 0);?從 devtool 刪除這個屬性似乎沒有變化。
問題2).modal.right 這樣宣告是什麼意思?為什麼.modal-dialog 前面要有空格?
就我的理解,先使用組合式宣告 .modal.right(.modal和.right之間無空格)+層疊式宣告 .modal-dialog(.modal-dialog前面有空格),是因為「當開啟 .modal-dialog 的區塊,又偵測到父層 .modal.right 的話,才會啟動.modal.right .modal-dialog{..} 裡面的樣式」?所以如果有另一個同樣的modal區塊,但是沒有 .right 這個 class 的話,就不會啟動 pos:fixed, top:0, right:0..略 這個樣式設定對吧?
問題3)那為什麼 css 內不直接寫成組合式 .modal.right.modal-dialog{}?
謝謝助教~
>
**8/11 每日任務:**
> 1.對的沒有錯喔,transform:translate(x,y) 簡單來說就是用來矯正位置用的,讓其元素的位置可以更正確。
>
> 2.這裡不建議使用 transform: translate(0,-25%); 來取代原本的 left: 50%,雖然產生的效果都一樣。原因是 transform: translate 最主要還是拿來做動畫用的,且一些早期的瀏覽器並無支援此語法,position: absolute; 則沒有這個問題,可以[參考連結](https://stackoverflow.com/questions/41335370/position-relative-vs-transform-translate)。
>
> 3.會先用肉眼判斷,然後再慢慢調整到對的位置。
>
**8/12 每日任務:**
> 1.其實是有變化的喔,它蓋掉Modal 出現時的位移動畫設定。
>
> 2.簡單來說 .modal.right .modal-dialog 這一段意思是 --> 選取.modal.right 裡面的 .modal-dialog。如果寫成 .modal.right.modal-dialog 的話就會變成選取到最外層的 .modal-dialo 所以是不對的喔!
---
7. Alicia Lo:
焦糖助教您好: 這是我的Github repo和 Github page。以下有兩個問題想請問助教:
1.昨天有詢問關於 BS 文字斷點的問題,有依照昨天當日助教建議將預設的 rfs: true, 刪去,確認編譯狀況後,發現文字斷點並沒有正確的編譯出來,但是編譯器沒有任何報錯訊息,修改其他SCSS檔也可以成功編譯,但文字斷點加上 responsive: true 卻沒辦法成功編譯。不確定是哪裡出了問題:含淚大笑的臉:
2.(a)有關於 index.html 的第24~54行,我希望 hover 到 .nav-link 時可以讓底線(border-bottom) 不要那麼快出現(類似淡入淡出效果),因此下了 transition漸變語法,但發現用all 的話,會連同顏色也做漸變效果,但改成指定只有border-bottom(_index.scss第22行),顏色依然會有漸變效果。(b)另外也有發現,hover 出現 border-bottom,會因為新增的 border高度而推擠到外層nav的高度,導致畫面看起來像在抽動。原本想改成不會占據空間的outline,但 outline似乎沒辦法設定只有單邊。想詢問助教,關於這兩個問題會建議如何處理呢?
再麻煩助教了,謝謝助教~!
> 助教回覆:
>
>1:待釐清 ...
>
>2:你的 border-color 不要使用變數就可以囉,因為 $secondary 似乎有改到會變成 #E31277 這個粉紅的顏色 XD。另外一個問題可以在 .nav-link 加上 border-bottom: 1px solid transparent;(透明) 就可以解決抖動問題了
---
8. Karen Huang
Dear 助教好,這是我的 repo 和 page:
剛剛已經有收到稍早的回覆,然後我的三個問題有依序去調整了,但我仍有疑問。
第一個問題是,根據你剛剛回覆給我的作法,我在把ratio拿掉後,因為圖片就不會是1x1,也就不會是像設計稿一樣的正方形顯示方式了,所以不管我在任何尺寸底下,都會是這種樣子...也就是跟設計稿不一樣,我很困惑,應該要怎樣才能讓我的圖片在各種尺寸底下都是 1x1 但又不會破版?或不會跟設計稿一樣是正常的?
第二個問題是:關於子導覽列的問題,根據你剛剛回覆給我的作法,我有把justify-content-between 拿掉,可是變成在平板以上的尺寸,我的子導覽列就不會在銀幕正中央,會齊左了...我有試圖在subNavList這邊下margin: 0 auto; 好像也無法使子導覽列置中!
第三個問題是:我已有在 base 下 padding: 0, margin: 0,希望用全域的方式讓所有容器內部都可以還原為預設狀態,但我發現我的card(因為是抓BS5的component來用),裡面還是有一些不明來源的padding, margin 空隙,看dev tool 發現是bs5預設內建的。
我的問題3-1是,為什麼我在base這樣寫,仍然會被BS5變數覆蓋?
問題3-2是,如果是助教你自己本身的話,會怎麼處理這些系統預設的空隙問題?感覺好像不能不管它?因為這樣寫起來總感覺會與設計稿上有誤差!(一直很堅持要跟設計稿一樣但一直做不到很懊惱的人):快樂:
第四個問題是:我有在innerExhibitionDate(html 第77行),下fs-lg-1,希望在桌機版的時候,字體大小可以變大,但卻沒有反應,不知道原因出在哪!
以上問題還是好多 >< 謝謝助教解惑!
> 助教回覆:
>
> 1.若要讓圖片都是維持正方型,只能寫死寬高 { width: 350px; height: 350px },但這樣做因為外層有下 .col-md-8 的關係,所以一定會造成破版。除非要針對 .col-md-8 來做修改寬度,因此這裡先不需要跟設計稿一樣唷 (我目前也沒有看到任何作業做到寬高二個都剛好 350px XD )。
>
> 2.可以把 justify-content-md-center 可以修改成 --> justify-content-md-center。
>
> 3.在 _base.scss 有看到你對 body 下 { margin: 0px 與 padding: 0px },但其實 Bootstrap 其實本來就有對 body 下 margin: 0px 了,這邊你是指想要清除所有標籤預設的距離嗎 ? 如果是的話可以利用 [reset.css](https://meyerweb.com/eric/tools/css/reset/) 來清除唷。
>
> 這裡會直接加上 reset.css 來清除瀏覽器的預設就好了。
>
>4.Bootstrap 沒有 .fs-lg-1 這個 class 喔 ( 除非是自己新增的 )。只有 .fs-1 而已 ~
>
---
9. ChuanMing:
老師及助教大大好,我想請教一下Gulp的問題,我是win系統
npm install 是每一次我要執行新專案的時候都要重新執行安裝過嗎?
就假設我第二週任務已經執行完了,要執行第三週,那我一樣是再抓一次資料夾下來 > cd 資料夾路徑 npm install > 然後執行Gulp > 接著就是跑一次原始碼跟網頁的佈署流程 >
> 助教回覆:每一次執行新的專案都要 npm install 沒有錯喔,也要重複所有的步驟。第二週若執行過一次,第三週也要再執行一次。
---
10. 軒仔:
助教好,我想問每日任務,不知道為什麼我使用right和bottom屬性無法讓keyframe動起來
codepen: https://codepen.io/loking23/pen/qBmGxXJ
> 助教回覆:因為你 @keyframes example 裡面的 top、left 都是 0 沒有設定唷 ~
---
11. Jiang V:
助教您好,我想請問 overlay 這個區塊,我的透明度好像連同文字、人像圖片、按鈕都一起透明了,這裡需要怎麼調整程式碼才不會影響到人像圖片、文字、按鈕呢?這是我的 repo / gh-pages,再麻煩助教解惑,謝謝
> 助教回覆:這裡不會使用到遮罩的效果,因此 .card-img-overlay 與其他相關屬性都先移除。這裡直接對 .open-talk 的 background-color 下 #190014CC 就可以了,[如圖](https://imgur.com/a/db3ooEC)。
---
12. Sec:
助教好,想请问在首页的 footer banner 的 input-group 为什么在手机版的时候会换行, 是不是要改 input-group 的 flex-wrap: none?
> 助教回覆:我這邊檢查你的 .input-group 在手機版 375px 下看是沒有換行的欸,如[圖片](https://imgur.com/a/U4KCfZp)。能否利用截圖給我看看呢,或是你指的地方不是這裡。另外如果有換行的話,可以試著下 .flex-nowrap 解決試試看。
---
13. 童筱涵:
助教你好,想請教幾個問題~
*assignment頁面
assignment.html 137行 editor的部分
1.editor的textarea區域高度該怎麼調整讓他有高度
2.reply跟cancel兩個按鈕一直在外面,有參考過其他助教,但改不過來讓他放進去
3.editor的邊框能修改嗎,還是我應該放在li裡面,但放進去我找不到讓他滿版的方法,試過用js添加樣式改padding但行不通
*admin頁面
1.個人資訊 index.html 201行那邊,我想讓照片跟旁邊verified是切齊的,我用開發人員工具看是照片沒有滿版的關係,請問該怎麼調整呢
2.在add new admin的modal裡, index.html 317行,想問說點擊label的話應該會focus在input,我有寫對應的label for跟id,但我這邊點擊是沒有反應的,跟我預期的不太一樣
3.分頁部分的hover,左右箭頭的白色出不來,不知道是否是我寫錯了QQ
> 助教回覆:
>
> **assignment頁面**:
> 1.建議直接在 .ck-placeholder 加上 height 就可以囉。
>
> 2.這裡我是利用絕對定位的方式,將按鈕放在裡面。首先 .ck-placeholder 我先改成 height: 200px,接著在按鈕的最外層加上 position: absolute; top: 200px (.ck-placeholder 的高度); right: 20px; 最後出來的成果就會像這樣,[如圖](https://imgur.com/a/tCTxXhB)。你再試試看唷 ~
>
> 3.想要確認一下 editor 是指哪裡呢? 可否再詳細說明是第幾行 >< 或是截圖告訴我是哪個區塊
>
> **admin頁面**:
> 1.這裡有二個解決辦法。第一是把圖片的 height: 141px 拿掉。第二是調整右邊區塊的 margin 讓高度跟左邊圖片一樣,例如 emir.wicks@mail.com 這一段文字的 margin-bottom: 16px --> 可以修改為 margin-bottom: 12px。
>
> 2.這裡不要使用 addnewName 跟 addnewEmail。原因 id 是唯一值不會有二個,你在 Edit Modal 已經有使用過了,不可以重複使用唷。
>
> 3.這裡會建議對箭頭直接寫 hover 時的顏色唷。不要直接使用 .text-success,因為它有下 !important 不管有沒有觸碰到都會是 .text-success 的顏色。