본문 바로가기

UX UI

1주일차: UX,UI

select name="chart" multiple //이렇게 multiple하면 한번에 확 보여줌.

그렇지만 사용자 입장에서 친절한 화면이 아니다. 쉬프트 또는 컨트롤 키를 누를 생각을 하지 않을 수 있다

 

 

select의 그룹화 , outgroup

-label 속성으로 하위 option 들의 이름을 작성할 수 있다.

=====================================

form

form요소는 서버에 데이터를 전송하기 위한 태그입니다.

사용자에게 데이터를 입력 받아 작성된 데이터를 전달할 수 있습니다.

사용자가 웹 사이트로 정보를 보낼 수 있는 대부분의 요소들은 폼입니다.

예:로그인, 회원 가입 등

 

공통 속성

1)name:폼의 이름을 지정하며, 서버에 전송될 데이터의 명칭.

2)value:서버에 전송될 데이터의 값

3)action:데이터가 전송되는 URL(경로)

4)method:데이터의 전달 방식을 작성하며, 사용자가 입력한 내용을 어떻게 서버에 넘겨줄 것인지 결정.

-get: 호출되는 주소에 값을 등록하여 보내는 방식.

-post: 데이터를 감춰서 서버에 전달한다.

enctype:첨부 파일 전달 시, 사용한다(잘 안씀) 

 

autocomplete - 자동완성 기능을 나타내는 속성이며, 기본값은 on
-->autocomplete ="off"

 

button

이벤트를 발동시키는 태그.

 

type

1)button

-단순한 버튼임을 명시하며, 클릭이 가능한 버튼이다.

2)submit
-해당 버튼이 폼 데이터를 전송하는 버튼임을 명시한다.

3)reset

-버튼 클릭시, 작성한 폼 데이터를 초기화

========================================

fieldset -폼 안의 요소를 묶어준다.

-form 태그 안에 있는 입력 요소와 label을 그룹화한다.

-legend 태그는 필수 작성 태그는 아니지만, fieldset의 이름을 지정한다.

 

 

이렇게 코딩하면

이런 화면이 뜬다(꼭 input하면 name 해주기! 같은 직원끼리 무슨 인풋 넣는지 알아보게 해야될거 아냐)

 

 

=========================
실무>레거시 레거시 프로젝트?? 10년 좀 넘은 프로젝트는 레거시라 함

iframe -현재 문서(페이지)안에 다른 html문서(페이지)를 삽입한다.

단점

1)보안 측면

해커가 해킹용 사이트를 다른 사이트에 집어 넣고, 그 사이트에 사용자가 입력하는 정보를 가로챌 위험이 있다.

2)사용성이 저하

-사용자 입장에서 하나의 사이트에서 다른 사이트가 또 열리기 때문에 헷갈릴 수 있다.

3)검색이 제한

-로봇이 우리 사이트를 보는데, iframe으로 설정된 페이지는 포함되지 않는다.

 

 

A화면 >B화면

A.html

<iframe>

 

=========================

인라인 요소와 블록 요소, 인라인 블록 요소

-요소가 화면에 출력되는 특성을 크게 2가지로 구분.

블록 요소는 상자(레이아웃)를 만들기 위한 요소

인라인 요소는 텍스트처럼 취급한다.

블록 요소로 구조를 잡고, 인라인 요소로 정보를 전달한다.

 

1)블록 요소

-기본적으로 레이아웃 작업에 많이 사용하며, 특별한 의미는 없고 "구분을 위해" 사용한다.

특징

-한 줄에 한 개만 배치 가능하다
-기본 너비값이 100%를 차지한다.

-크기 값을 가질 수 있다.(가로 세로)

-상, 하, 좌, 우 마진을 가질 수 있다.

 

종류

div, table, th, td, header, nav, footer 등

 

div(Division)
-특별한 기능이 없다

-어떤 영역을 잡을 때 많이 사용한다.

h*(Heading)
-제목을 의미하며, 1~6번까지 있다.

-숫자가 작을수록 더 중요한 제목을 정의한다.

-웹 표준 h1태그는 한 문서에 1개만 있어야 한다.

 

 p(Paragraph)

-문단을 의미한다.

 

ul(Unorderd List)

-순서가 필요없는 목록을 의미한다.

-li(List Item)태그로 각 항목을 작성한다.

ol(orderd List)

-순서가 필요한 목록을 의미한다.

-li(List Item)태그로 각 항목을 작성한다.

===========================================

2)인라인 요소
-한 줄에 여러 개 배치 가능하다.

-기본 너비값이 콘텐트의 너비값

-크기값을 가질 수 없다

-상,하 마진을 가질 수 없다

 

종류

span, a, small, strong 등

 

span

-대표적인 인라인 요소

-특별한 의미는 없고, 큰텐츠의 영역을 설정하는 용도

===========================================

인라인 블록 요소

특징

-인라인 요소의 특징와 블록 요소의 특징을 같이 가지고 있다.

한줄에 여러 개 배치 가능하다.

-크기 값을 가질 수 있다.

상 하 좌 우 마진을 가질 수 있다.

 

종류img, input, button 등

 

**img 태그(image)
필수 속성

src(source): 실제 이미지의 경로를 명시한다.

alt(alternate): 이미지가 출력되지 않는 상황 또는 스크린 리더를 사용하는 사용자를 위해 대신 출력할 이미지의 설명을 명시한다.(필수속성)

***필수 속성을 작성하지 않으면, 웹 표준에 어긋난다.

 

==========================================

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>인라인, 블록, 인라인 블록</title>
        <style>
            div {
                border: 1px solid red;
                height: 100px;
            }
            span {
                border: 1px solid red;
                width: 500px;
                height: 500;
            }
            img {
                margin: 50px;
            }
        </style>
    </head>
    <body>
       <div></div>
       <div></div>
       <div></div>

       <span>KSMART</span>
       <span>네이버 홈페이지</span>
       <span>Gooooogle</span>

       <img src="https://media.istockphoto.com/id/1198387244/ko/%EC%82%AC%EC%A7%84/%EB%B9%A8%EA%B0%84-%EA%B0%9C%EB%8A%94-%ED%9D%B0%EC%83%89-%EB%B0%B0%EA%B2%BD%EC%97%90-%EB%86%93%EC%97%AC%EC%9E%88%EB%8B%A4-%EC%9B%83%EA%B3%A0-%EC%9E%88%EB%8A%94-%EC%9D%BC%EB%B3%B8%EA%B0%9C.jpg?b=1&s=170667a&w=0&k=20&c=nP02GYtjo-bZf3-p15byL5sRmp-tMR0XS_imYJq0IZE="
       alt="시바견">
       <img src="https://media.istockphoto.com/id/1320436824/ko/%EC%82%AC%EC%A7%84/%EC%97%AC%EB%A6%84%EC%97%90-%EB%85%B9%EC%83%89-%EC%9E%94%EB%94%94%EC%97%90-%EC%95%89%EC%95%84-%EC%95%84%EB%A6%84-%EB%8B%A4%EC%9A%B4-%EC%9E%AC%EB%AF%B8-%EC%9E%88%EA%B3%A0-%ED%96%89%EB%B3%B5-%ED%95%9C-%EB%B9%A8%EA%B0%84-%EC%8B%9C%EB%B0%94-%EC%9D%B4%EB%88%84-%EA%B0%9C-%EC%9D%BC%EB%AA%B0%EC%97%90-%ED%8F%AC%EC%A6%88%EB%A5%BC-%EC%B7%A8%ED%95%98%EB%8A%94-%EA%B7%80%EC%97%AC%EC%9A%B4-%EC%9D%BC%EB%B3%B8-%EA%B0%9C.jpg?b=1&s=170667a&w=0&k=20&c=EXc4ZK4MyYE9BAstNpmqpCnmJat3gmAokyZMkqqJO5w="
       alt="시바견2">
       <img src="https://cdn.pixabay.com/photo/2022/03/12/02/56/wool-7063255__340.jpg"
       alt="시바견3">

       <a href="https://www.naver.com">NAVER</a>
       <a href="https://www.naver.com" target="_black">NAVER(새창에서 열립니다)</a>

       <h2>Contact us</h2>
       <address>
            사이트 주소 : <a href=""http://www.ksmart.or.kr" target="_black">KSMART(새 창에서 열립니다.)</a> <br>
            연락처 : <a href="tel:063-717-1008">063-717-1008</a> <br>
            이메일 : <a href="mailto:sugang@ksmart.or.kr">sugang@ksmart.or.kr</a>
       </address>
    </body>
</html>


a 태그 - 다른 곳으로의 링크

Anchor의 약어 - 닻

하이퍼 링크를 지정하는 요소이다.

필수 속성

href(Hypertext Reference) : 연결할 주소 작성

target 속성 : 링크(페이지)를 여는 옵션

 

_blank는 웹 접근성을 위한 값이다

시각 장애를 가지고 있는 사용자와 같이 다양한 사용자들이 편리하게 사이트를 이ㅛㅇㅇ할 수 있도록 웹 사이트를 만들어야 한다. _blank를 사용하는 경우, "새 창에서 열립니다." 와 같은 문구로 안내를 해야한다. 눈으로 보지 못하는 사용자들이 당황하지 않고 사이트를 사용할 수 있다.

 

참고 : 

a 태그와 함께 사용할 수 있는 address 태그

tel: 모바일에서 클릭 시, 해당 연락처로 전화 걸기 사용 가능

mailto:이메일 링크 작성. 클릭 시, 이메일 전송 화면으로 이동

 

==================================

<br>(Line break)

줄 바꿈

=======================================

사용자로부터 입력을 받는 input

 

 

 

CSS(Cascading Style Sheet)

 

HTML(정보 전달, 기본 뼈대, 구조)을 꾸며주는 디자이너 역할

HTML문서 내에서 태그를 선택해서 디자인하고, 배치하는 역할

 

Cascade: 폭포처럼 쏟아지는 물

스타일 시트의 적용 우선 순위가 위에서 아래로 적용된다.

 

기본문법

선택자{속성:값;}

*선택자(selector)

-선택자는 스타일(css)을 적용할 대상을 명확히 지정하는 용도

-속성 : property

-값:value

 

작성 방법

선택자{속성:값; 속성:값; 속성:값; 속성:값; 속성:값;}

-한 줄 작성이 가능하지만, "가독성을 위해 줄 바꿈해준다."

*하나의 속성과 값을 작성하면, 세미

 

주석처리

/* */

 

키워드 - 캐시

-임시 데이터 저장소

-가져온 데이터를 한번 가져와서 임시로 저장하는 개념.

-한번 받아온 데이터를 사용자의 컴퓨터 또는 중간 역할을 하는 서버에 저장해놓는다.

-한번 보관하면, 다시 접속할 때, 다운로드 불필요

-파일 다운로드 자체가 서버와 사용자에게 부담(CPU 점유율, 메모리, 속도 등등)

-처리 속도가 향상. 추가 요청도 빠르게 처리 가능.

=================================

파일 경로 찾는법(../ , ./

1)절대 경로

표기법: /

root(최상위)를 의미. 어느 파일에 위치해 있어도 root경로로 이동 가능 = 우리 프로젝트

2)상대 경로

-출발하는 위치에 따라서 경로가 바뀜.

 

./(생략 가능-명확하게 작성하고 싶으면, 생략하지말것.)
->내 주변에서 찾는것.

ex)A아파트의 201호에서 202호 가는거는

./202호 or 202호

 

../
->내 위치에서 상위 폴더로 올라가서 찾는다

->내가 속해있는 폴더의 위쪽으로 올라가서 찾는다.

A아파트 201호

B아파트 301호

../B아파트/301호

===============================

CSS연결 방법 4가지

1)내장 방식
-웹 문서 안에 사용할 스타일을 정리하는 방식

-html 문서의 head 영역에 style 작성

-html 문서 내부에 작성하기 떄문에, 내장 방식 또는 내부 스타일시트라고 부른다.

-장점: 별도로 css파일을 작성할 필요없이 내부에서 작성 가능하다.

-단점: css내용이 많아지는 경우, HTML문서 내에서 한번에 처리하고 어렵다.

**웹 표준: 프론트엔드 개발 방식에서 HTML CSS JS파일은 구별해서 관리해야 한다.

 

2)링크
-외부 css파일을 만들고, 링크함
-스타일 정보를 따로 저장하기 떄문에 외부 스타일 시트라고 한다.

<lint rel="stylesheet" href="./css/main.css"></lint>
link 태그를 이용해서 어떤 파일을 가져와서 연결한다.
rel(relationship): 외부에서 가져오는 파일과 현재 html문서의 관계 명시
href: 경로

 

3)인라인 방식
-간단한 스타일 정보를 적용하는 인라인 방식
-요소의 style 속성에 직접 스타일을 작성하는 방식

-유지 보수 시, 악영향을 미칠 수 있어서 권장하지 않는다.
-css 적용 우선 순위에서 문제가 발생할 수 있다.

4)@import 방식

-css의 @import규칙으로 css문서 안에 또 다른 css문서를 가져와서 연결한다.

 

============================================

선택자(매우 중요)

CSS를 이용해서 HTML의 어떤 요소를 꾸미려면, 많은 요소들 중 어떤 요소를 꾸밀지 명확하게 지정해야 한다. 선택자는 스타일을 적용할 대상을 지정하는 용도로 사용.

 

종류

1)기본 선택자

-전체 선택자

>스타일을 문서의 모든 요소에 적용할 때 사용한다.

>선택자를 작성하는 위치에 *기호 사용

*(에스터리스크)를 쓰면 이렇게 전체 다 스타일이 적용됨
p(paragraph)로 하면 <p></p>부분만 되고ㅇㅇ



-태그 선택자

>HTML의 태그 이름을 작성하고, css 속성과 값을 적어주는 방식
>선택자를 작성하는 위치에 기호 없이 태그 이름만 명시.
>W3C 제공하는 선택자ㅔ 대한 설명에는 "타입 선택자"라고 명시되어있다.

이렇게 원하는거를 "기호없이" 태그 이름만 명시해서 스타일을 적용한다.



2)복합 선택자

3)가상 클래스 선택자

4)가상 요소 선택자

5)속성 선택자

 

1)기본 선택자

-전체 선택자

-태그 선택자

-아이디 선택자

-클래스 선택자

 

*전역 속성

class

-요소에 이름을 명시하려는 용도.

-클래스 이름은 중복 가능하다

-기호:.클래스 이름(dot)
-여러 이름을 가질 수 있다

<div class="black-red"></div> or  <div class="black red"></div>    <-블랙이란 클래스도 갖고, 레드라는 캘래스도 가짐

*이름은 기억하기 쉽고 명확한 이름을 작성한다.
*이름은 절대로 숫자 또는 특수 기호로 시작하면 안된다

*클래스 이름은 소문자로 작성하며, 단어 뒤에 다른 단어가 나오면,_(underScore) 또는-(dash)로 구분한다./
*클래스 또는 아이디 이름은 대소문자를 구분한다.

 

나쁜 예시: main1, main2, main3
좋은 예시 :main_contents, main-contents

.apple --> 클래스를 찾을건데(.), 클래스 이름은 apple이야!
#apple --> 아이디를 찾을건데(#), 아이디 이름은 apple이야!

 

class="apple"이기 때문에 .apple이라고 해준다. 이게 id="apple"이였으면 #apple이였을것이다
.food{}로 적용하면 저 비빔밥, 초밥 둘다 적용이 된다(둘다 food라는 이름을 갖기 떄문에). class="food japanese-food"는 .food.japanese-food


id

-요소에 이름을 명시하려는 용도.

-아이디 이름은 중복 불가능하다.
-기호:#아이디 이름(hashtag)

 

 

그룹선택자

-여러 선택자가 같은 스타일 규칙을 사용하는 경우

-쉼표(,)로 구분해서 여러 선택자를 나열

'UX UI' 카테고리의 다른 글

1주일_3일차: UX,UI  (0) 2023.03.10
1주일_2일차: UX,UI  (0) 2023.03.09
첫날1일: UX,UI  (0) 2023.03.02