Author: lioajimzen

  • CSS-Margin & Padding

    控制視窗與Stack之間的Layout邊界屬性

    給於肝肝工程師小額捐款: ETH/ERC20

    在我們剛開始寫CSS 的時候,我常常把Margin Padding 搞混

    藉由這次機會, 我在這邊隨手做紀錄一下。

    首先, 這張圖片裡面, 各種結構+屬性關係先弄熟!

    參考: Margin and Padding – Xamarin | Microsoft Docs

    範例測試

    HTML

    先用2個 Block 去強化這個概念

    <!DOCTYPE html>

    <html lang=”en”>

    <head>

        <meta charset=”UTF-8″>

        <meta http-equiv=”X-UA-Compatible” content=”IE=edge”>

        <meta name=”viewport” content=”width=device-width, initial-scale=1.0″>

        <link rel=”stylesheet” href=”CSS/BoxModel.css”>

        <script src=”JS/undefined_Notdefined.js”></script>

        <title>BoxModel</title>

    </head>

    <body>

        <h1>實作盒模型</h1>

        <div  class =”box 1″>

    <p>

        1. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

        Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    </p>

        </div>

        <div  class =”box 2″>

            <p>2. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna

            aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis

            aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint

            occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

        </div>

    </body>

    </html>

    CSS

    .box {

    display: inline-block;

    width: 300px;

    height: 300px;

    background: black;

     margin-top:20px ;

    margin-left: 20px;

    margin-bottom: 30px;

    margin-right:30px;

    font-size:25px;

    color: azure;

    padding: 70PX;

    border: 25px solid rgb(243, 18, 18)

    }

    CSS_用Margin 來玩玩

    Margin-top

    接下來, 我們將Margin-top = 20px 顯示出來

    CSS_Margin-left

    Margin-left =20px

    意思是指:

    每個Stack (每個box 1, box 2)為主的邊界, 向右邊推20px。

    CSS_Padding 傻傻搞不清楚?

    1.若你的元素<div class=box > = Stack 沒有去限制 width的話 : 就可以用padding 向外推出去。

    • 有時候不一定要將Stack. width限制常數, 可以善用padding向外部推喔。

    2.反之, padding 加大的話, 會怎麼樣??

    Stack. width沒有限制常數

    {box padding =0px
    {box padding=70px

    你會發現, <p>元素與border之間的空間變大

    這個時候要請出排版結構圖 (汗

    Stack. width有限制常數情況下

    container.width= 400px

    讓我們把box.padding數值改成 120px 試試看。

    box.padding=120px

    結果: box.Padding 仍可以把Stack 向外推!

    結論

    這個部分, 是對於我這個一邊工作一邊紀錄的金魚腦

    很難短時間記清楚這些東西, 所下得一些功夫+解析

    程式難在於…. 每個領域的用途差之甚遠

    希望有看到這篇文章的各位有所幫助!

  • JS 作用域探討

    語法作用域 = 靜態作用域

    靜態作用域 及 動態作用域 之間的差別牽涉直譯語言的解譯及運行流程。
    • 資料參考: 六角學院 JavaScript 核心篇

    變數作用域也會依據宣告的方式不同,產生不同的作用域:
    未宣告:全域變數
    var 宣告:作用域在 函式 中
    letconst 宣告:作用域在 {} 中

    JS 採用的是語法作用域, 只要確定你的作用域, 就不會再改變。

    範例1

    範例1 測試結果如下:

    利用全域console.log() 去測試, 可否顯示函式 callname()作用域的值。

    顯示出來的結果

    callname()作用域的變數value, 用外層console.log 去讀取會得到: Uncaught ReferenceError value is not defined

    原因:

    全域console.log() 無法去 callname() 作用域去讀取該變數!

    範例2

    此範例我們加入全域變數 let name =’張小姐’

    我們會知道最後被執行的call2()函式

    原因:

    call2()函式內部有呼叫 callname() 函式, 而callname()函式作用域內並沒有宣告name變數, 所以callname() 函式會去全域變數查找name值(綠色箭頭部分) 。

    顯示出來的結果

    以上就是不同的作用域之間的關係, 希望大家不要搞混了。

  • CSS-Flex 初步試探

    Front-end Notes

    CSS Flex 一開始只要記住一點!

    display:flex 這一定要宣告

    HTML

    <body>

        <div class="container">

            <div class="item item1">1</div>

            <div class="item item2">2</div>

            <div class="item item3">3</div>

        </div>

    </body>

    CSS-Container 層

    display: flex;

      width:auto

     height: 100px;

    background-color: blue;

     margin-top: 15px;

     margin-bottom: 15px;

     margin-left: 15px;

     margin-right: 15px;

        /* padding 指的是 在container方框裡面, 向內縮小內容的px */

    padding: 20px;

    flex-direction: row ( 主軸排列方向 ) 放向 由左到右

    CSS-item 層

    item 子層樣式若要統一的話

      width:150px ;

        height:90px;

        background: #00ffa2;

        color: #033b56;

        font-style: initial;

        text-align: center;

        font-size: 35px;

        margin:10px auto;

        margin-top: 10px;

        margin-bottom: 15px;

    margin-left: 10px;

        margin-right:10px;

    畫面顯示結果如下