1-3:Webプログラミングベース(Ellis AI Track)


[アリスAIコース]1週目-3
  • オンライン理論課、実験課、リアルタイム課程内容総括本
  • 9/16木曜日
  • HTML/CSSベース


    3.生命をサイトに入れる


    ウェブサイトに生命を注入するために、css 3属性Transform、Transition、Animationを覚えておいてください!

    01. Transform


    :Webサイトの特定の領域でオブジェクトの位置をワープ、スケール、または変更するためのプロパティ
    1) rotate, scale
  • rotate(30deg)
    :入力した角度で特定のオブジェクトの回転効果をスケールします.(平面回転.)負の値を入力可能
  • scale(2, 10)
    :選択したオブジェクトを拡大または縮小→widthを2倍、heightを10倍に拡大!縮小する場合は0.5などの小数点を使用すればよい.
  • 2) skew, translate
  • skew(10deg, 30deg)
    :立体ワープ角度に使用します.(x軸、10度、y軸、30度に沿う)
  • translate(100px, 200px)
    :選択したオブジェクトの位置を変更します(x軸に100 px、y軸に200 px).marginは、paddingの代わりにもよく使われています.
  • 3)接頭辞接頭辞
    :css 3は最新言語であり、ieの最新バージョンでは使用できません.→prefixを使用する場合、ブラウザのサブバージョンでも使用可能
    <style>
    	.transition {
    		transform: scale(2, 3);
    
    		-webkit-transform: scale(2, 3);  // 크롬, 사파리
    		-moz-transform: scale(2, 3);      // 파이어폭스
    		-ms-transform: scale(2, 3);      // 익스플로러 9.0
    		-o-transform: scale(2, 3);         // 오페라
    	}
    </style>

  • 基本コードを使用して、上記の接頭辞付きのコードを記述する必要があります.(以上transform:scale(2,3);)

  • 複数の変換を適用する場合は、最後の変換のみが適用されます.(以下の場合、斜体のみが適用されます)
    <style>
    	.transform {
    		transform: scale(2, 3);
    		transform: translate(100px, 150px);  
    		transform: rotate(45de);      
    		transform: skew(10deg, 30deg);      
    	}
    </style>
  • 02. Transition


    :変化するプロセスのプレゼンテーション
    1) property, duration
  • プロパティ:プロパティ
  • duration:変更時間の設定
  • <style>
    	.transition{
    		transition-property: background-color;  // 배경 색이 변하는 걸 사용자에게 보여주겠다는 표시
    		transition-duration: 3s;  // 3초동안 변함
    	}
    </style>
    2) timing-function, delay
  • 時間-機能:変化する速度.リニア(一定)
  • 遅延:直ちに発効せず、
  • 時間遅延
    <style>
    	.transition{
    		transition-timing-function: linear;  // 일정한 속도로 변화
    		transition-delay: 0.5s; // 0.5초 후 변화
    	}
    </style>
    3)仮想選択者:サスペンション

  • hover:cssで予め作成されたセレクタ.マウスを離す
    <style>
    	.trans:hover { height: 100px; } // trans라는 클래스 영역에 마우스 올리면 높이를 100px로 바꿔라
    </style>
  • 4)Transition統合
    :移行に有効な書き方.
  • は順番がなくて書くことができますが、durationはdelayより先に書かなければなりません!!(先に現れた数字はdurationで、1つの数字でも)
  • <style>
    	.trans{ 
    		transition: height 3s linear 2s; //3s가 duration, 2s가 delay
    	}
    
    	.trans:hover { height: 200px; }
    </style>
    →マウスを遷移系領域に置き、2秒後に高さを200 pxに上げ、3秒以内に一定の速度でアニメーションを行います!

    03. Animation


    マウスのサスペンションなどの条件を考慮せずに、イベントが発生した場合に使用します.
    .anim {
    	animation-name: changeHeight; // 개발자 임의로 이름 설정
    	animation-duration:10s; // 10초 동안 애니메이션
    	animation-timing-function: linear; // 속도의 성격 규정
    	animation-delay: 2s; // 웹 사이트 접속 후 몇초 이후에 진행할지
    	animation-iteration-count: 5; // 애니메이션 반복 횟수
    	animation-direction: normal; // 애니메이션 진행 방향
    }
    
    @keyframes changeHeight { // 변화 줄 실제 결과 값. 애니메이션 사용시 필수 세트로 써주자
    	from { height: 300x; } // 시작
    	to { height: 600px; }  // 끝
    } 
    .anim { // 위의 애니메이션과 같은 코드! 한 줄로 작성한 것
    		// 순서는 상관 x but 앞선 숫자가 duration, 뒤 숫자는 delay
        animation: changeHeight 10s linear 2s 5 normal; 		
    }

  • アニメーションの進行方向(direction)
  • 開始→終了:正常
  • 終了→開始:逆
  • 開始→終了→開始:交互

  • 適用するアニメーション名と@キーは同じ名前でなければなりません.
  • 04.アニメーションの適用


    1) Transform & Animation
    .box{
    	animation: skewing 1500ms linear infinite alternate; // 1500ms : 1.5초
    }
    
    @keyframes skewing {
    	from { transform: skew(-20deg, 10deg); }
    	to { transform: skew(20deg, -10deg); }
    }
    2)接頭辞作成時の注意事項
    .box{
    	-webkit-animation: rotation 5s linear 1s 4 alternate;
    }
    
    @-webkit-keyframes rotation {
    	from { -webkit- transform: rotate(-20deg); }
    	to { -webkit- transform: rotate(20deg); }
    }
  • アニメーションでは、接頭辞を使用する場合、対応する接頭辞をキーフレームに追加する必要があります.(webkit、mozなどの属性でtransformをそれぞれ使用する場合、transformの前にも1つ追加)
  • 4.モバイル対応Webサイトの作成


    01.メディアクエリの概要


    1)メディアクエリとは?
    CSS構文
  • は、PC、タブレット、モバイル環境でのWebサイトの表現をより自然にします.
  • は、レイアウト、フォントサイズの調整など、反応性/適応性のWebサイトを作成するために使用されます.
  • 反応型:ブラウザ幅が小さくなったり大きくなったりすると、自然にサイズを調整できる
  • 適応型:ブラウザ幅を減少または増加すると、レイアウトは断続的に変化します:
  • 2)メディア照会媒体
  • @media()と(){}の形式
  • 分-幅と最大幅
    :ブラウザ幅の設定
  • .myImg {
    	width: 1000px;
    }
    
    /* 브라우저 가로폭이 최소 320px, 최대 800px이 되면 해당 css적용 */
    @media (min-width: 320px) and (max-width: 800px) { 
    	.myImg {
    		width: 300px;
    	}
    }
    3)メディアクエリの正常な出力を検証する
  • クロム開発者ツール:f 12をクリックし、下の画像の黄色い部分をクリックします!

  • Troy Labs(今はサービスしていないようです.)
    :ドメイン・アドレスがある場合(成果物がサーバに登録されている場合)に使用できます.
  • 02.メディアクエリを使用する際の注意事項


    1) viewport
  • メディアクエリーを使用する場合は、viewportというタグ属性を入力する必要があります.
  • <meta name="viewport" content="width=device-width, initial-scale=1">
  • ビューポート:アプライアンスの画面領域を示します.幅とスケールを設定する場合は
  • を使用します.
  • 初期スケール:
  • のスクリーンパーセント
    2)CSS属性の継承
  • メディアクエリ内部は、メディアクエリ外部領域のCSS属性
  • を継承する.
  • 外部と内部で適用されるCSSが異なる場合は、必ず明記してください.(属性値を削除するには、.ex.background-color:none;)
  • grid

  • ページの複数の領域を配置しやすいレイアウト.floatではなくfloatを使用!
  • は、配置する領域の親:gridを表示します.に設定し、比率をgrid-templateプロパティ
  • に設定します.
    <style>
    	#container {
    		display: grid;
    		grid-template-columns: 1fr 1fr; /* columns: 왼쪽부터 오른쪽으로 쌓임. 
    																			1대 1로 비율 설정. 
    																			100px 1fr 처럼 왼쪽 영역 100px, 
    																			나머지는 모두 오른쪽 영역으로 설정할 수도 있다. */
    	}
    </style>
    
    ...
    
    <div id="container">
    	<ol>
        <li>First</a></li>
        <li>Second</a></li>
      </ol>
    	<div>
    		<a href="index.html">Hello</a>
    		This is grid layout practice.
    	</div>
    </div>

    役立つサイトとショートカット


  • vscodeでalt+zは画面worldwrapを表します

  • ul>(li>a)*3+tabキー

  • https://emmet.io/

  • https://htmltemplates.co/
  • https://fonts.google.com/
  • https://chrome.google.com/webstore/detail/stylebot/oiaejidbmkiecgbjeifoejpgmdaleoha?hl=ko