함수의종류

​함수를 쓰기위해 먼저 string.h헤더파일을 선언해야합니다.

strlen

문자의길이나 배열의길이를 반환합니다.

사용예↓

1
2
3
4
5
6
7
#include<stdio.h>
#include<string.h>
int main(void)
{
    char a[10= "Hello";
    printf("%d", strlen(a);
}
cs

strcpy 

오른쪽값을 왼쪽값에 복사합니다. 

사용예↓

1
2
3
4
5
6
7
8
#include<stdio.h>
#include<string.h>
int main(void)
{
    char a[10];
    strcpy(a, "hello");
    printf("%s", a);
}
cs

strncpy

​세번째의 값만큼의 문자열의 오른쪽값을 왼쪽값에 복사합니다.

사용예 ↓

1
2
3
4
5
6
7
8
#include<stdio.h>
#include<string.h>
int main(void)
{
    char a[10];
    strncpy(a, "hello"3);
    printf("%s", a);
}
cs

strcat

​오른쪽값을 왼쪽값에 붙입니다.

사용예 ↓

1
2
3
4
5
6
7
8
#include<stdio.h>
#include<string.h>
int main(void)
{
    char a[10= "HI ";
    strcat(a, "hello");
    printf("%s", a); //결과는 HI hello가 나옵니다. 
}
cs

strncat

세번째값이 양만큼 두번째값을 첫번째값에 붙입니다.

사용예 ↓

1
2
3
4
5
6
7
8
#include<stdio.h>
#include<string.h>
int main(void)
{
    char a[10= "HI ";
    strncat(a, "hello"2);
    printf("%s", a); //결과는 HI he. 
}
cs

strcmp

문자열을 비교합니다. 문자열이 같을때에는 0을반환하며

예:strcmp(a, b)

라고한다면 a가더큰경우 양수를 b가더큰경우 음수를 반환합니다.

사용예 ↓

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
#include<string.h>
int main(void)
{
    char a[10= "HI";
    char b[10= "Hello";
    if (strcmp(a,b)){
        printf("a와b는다릅니다.\n");
    }
    else {
        printf("모릅니다.");
    }
}
cs

​strncmp

​문자열을 비교하되, 세번째수만큼만 비교를합니다.

사용예↓

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
#include<string.h>
int main(void)
{
    char a[10= "HI";
    char b[10= "Hello";
    if (strcmp(a,b)){
        printf("a와b는다릅니다.\n");
    }
    if(!strncmp(a, b, 1)){
        printf("하지만 첫글자는 같습니다.");
    }
    else {
        printf("모릅니다.");
    }
cs

※!연산자는 0을 1로 1을0으로 바꾸는 부정연산자입니다.


그럼여기까지 블로그포스팅을 마치도록 하겠습니다.

문자열관련 함수 -끝-


'C언어' 카테고리의 다른 글

파일입출력  (0) 2018.01.17
Beep  (0) 2018.01.17
구조체  (0) 2018.01.12
포인터  (0) 2018.01.12
배열  (0) 2018.01.12

typedef

구조체를 알기전에 typedef라는 함수를 알아야합니다. 

typedef란?:type define으로 타입을 선언한다. 정도의 뜻을 가지고 있습니다.

예제↓

1
2
3
4
5
#include<stdio.h>
int main(void)
    typedef int i;
    i num = 0;
}
cs


위와같이 쓸수있습니다.

결과는 int를 i로 바꾸고 i = int로바뀌어 num의 자료형은 int가 됩니다.

구조체

변수나 데이터들을 묶을때 사용하게됩니다.

예제↓

1
2
3
4
5
struct name{
    char name;
    char name[2];
    char name3;
};
cs

위와같이 선언하면 바이트수는 4바이트가 됩니다.

그리고 선언은 struct 이름{    }; 과같이 할수있습니다.

만약 사용하실때는 이름.변수 이렇게 써서 사용할수 있습니다.


typedef와 구조체 함께 사용

1
2
3
4
5
typedef struct name{
    char name;
    char name[2];
    char name3;
}Name;


cs

1
2
3
4
5
6
struct name{
    char name;
    char name[2];
    char name3;
};
typedef struct name Name;
cs

위와 같이 두가지 방법을 써서 사용할수있습니다.


구조체를 자료형으로 쓰기

1
2
3
4
5
6
7
8
9
10
11
12
#include<stdio.h>
typedef struct name{
    char name;
    char name[2];
    char name3;
}Name;
int main(void){
    Name n1;
    Name n2;
    n2.name = 'n'// n2라는 구조체가 생긴것과 같다.
    n1.name = 'm'// n1이라는 구조체가 생긴것과같다.
}
cs

위와같이 쓸수있습니다.


구조체 포인터

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
typedef struct name{
    char name;
    char name[2];
    char name3;
}Name;
int main(void){
    Name *p;
    Name data;
    p = &data;
    (*p).name = 'e'//data의 name변수에 e를 넣었다.(p ->name = 'e';와같습니다.)
}
 
cs

위와같이 포인터를 구조체에서 활용가능합니다.


구조체 배열

소스코드↓

1
2
3
4
5
6
7
8
9
#include<stdio.h>
typedef struct name{
    char name;
    int num;
    char name3;
}Name;
int main(void){
    Name man[2= {'e'3'p''a'5'b'};
}
cs

위와같이 쓸수있습니다.


그럼여기까지 블로그포스팅을 마치도록 하겠습니다.

구조체 -끝- 



'C언어' 카테고리의 다른 글

Beep  (0) 2018.01.17
문자열관련 함수  (0) 2018.01.12
포인터  (0) 2018.01.12
배열  (0) 2018.01.12
함수  (0) 2018.01.12

포인터

​주소를 저장하는 변수입니다.(바이트수:4)

형식: 자료형 *포인터변수명

자료형은 포인터변수와 연결될변수와 같아야합니다.

1
2
3
4
5
6
7
8
#include<stdio.h>
 
int main(void){
    int a = 10;
    int *pa; //포인터변수 선언
    pa = &a; //포인트변수에 변수의주소를 넣어주는
    return 0;
}
cs

위와같이 사용할수 있습니다.

소스코드↓

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
 
int main(void){
    int a = 0;
    int b = 10;
    int *ptr;
    ptr = &a;
    b = *ptr;
    printf("변수a의주소:%p\n", a);
    printf("ptr의값:%p\n", ptr);
    printf("*ptr의값:%d\n"*ptr);
    printf("b의값:%d\n", b);
}
cs

※%p는 주소를 나타낼때쓰는 서식문자입니다.

결과값은

변수a의주소:0xa의주소

ptr의값:위와같음

*ptr의값:0

b의값:0

이렇게됩니다.

※*ptr과ptr의 다른점

ptr은 a의주소를넣었으니 a의주소를 나타내고

*ptr은 a의주소의값을 의미합니다.


포인터와배열

배열의주소는 자료형의 바이트수씩 차이가납니다.

예로 int a[3];이있고 첫번째주소가 100이라면

 100

 104

108 

위와같이 int(4바이트)이니 4씩차이가납니다.


배열을 포인터로 나타내는법

int a[5];가있다면

a[1] = *(a+1) a[2] = *(a+2) a[3] = *(a+3) a[4] = *(a+4)

배열의이름은 그자체로 주소를 나타내게됩니다. 따라서 a+1의값은 a[1]과같은 값입니다.


배열의주소 출력

1
2
3
4
5
6
7
8
9
#include<stdio.h>
 
int main(void){
    int a[5= {12345};
    int *ptr;
    int i;
    for (i = 0;i<5;i++){
        printf("배열의 값:%d, 배열의 값:%d", a[i], *(a+i));
}
cs

이렇게 쓸수있습니다.

여기서 블로그포스팅을 마치도록 하겠습니다.

포인터 -끝-


'C언어' 카테고리의 다른 글

문자열관련 함수  (0) 2018.01.12
구조체  (0) 2018.01.12
배열  (0) 2018.01.12
함수  (0) 2018.01.12
switch문  (0) 2018.01.12

1차원 배열

선언은 int 이름[변수개수]로 선언할수있습니다.

변수를 여러개 한번에 생성할수있습니다.


선언방법의예: int num[10];

배열의 바이트수: 자료형의바이트수 X 변수의개수 (만약 int num[10]이라면 40바이트입니다.)


배열의활용법:배열을 int num[10];이렇게 했다면 

 0

 1

 2

 3

 4

 5

 6

 7

 8

 9

이렇게 인덱스값이라는것이 존재합니다.

만약 배열의 4번째에 값을 넣고싶다면 3을 써야합니다. 배열에서는 0부터셉니다. 예:int num[3] = 4;

소스코드↓

1
2
3
4
5
6
7
8
#include<stdio.h>
 
int main(void){
    int num[10];
    num[3= 4;
    char str[] = "Hello World!"//문자열을 넣는것인데 자동으로계산해서 13라는길이가 들어가게됩니다.
    return 0;
}
cs

위의 Hello World!가 13가되어 들어간이유

 H

e

 공백

 W

null 

문자열은 위와같이 null값이 맨뒤에 자동으로 붙게됩니다.(null이 붙어야 문자열이 완성된것입니다.)

그래서 길이는13 하지만 C언어는 0부터세기 때문에 인덱스값은 12가됩니다. 


2차원배열

선언방법:int 이름[세로][가로]

예:int num[2][3];

위의인덱스값 정리

 [0][0]

[0][1] 

[0][2] 

 [1][0]

[1][1]

[1][2] 

이렇게 선언했다고 볼수있습니다.

소스코드↓

1
2
3
4
5
6
7
8
9
 
#include<stdio.h>
 
int main(void){
    int num[2][3= {{123}, {456}}; //선언과 동시에 초기화하는법
    int su1[][3= {123456789//저절로 세로길이에 3이들어가게됩니다.
    return 0;
}
 
cs

위와같이 쓸수있습니다.

3차원배열 4차원배열도있지만 2차원도 개인적으로 잘쓰지않는데 더많은 차원을 쓸필요가 없다고 생각되어 없앴습니다.

여기까지 블로그포스팅을 마치도록 하겠습니다.

배열 -끝-


'C언어' 카테고리의 다른 글

구조체  (0) 2018.01.12
포인터  (0) 2018.01.12
함수  (0) 2018.01.12
switch문  (0) 2018.01.12
입출력관련  (1) 2018.01.12

함수

중학교때 배웠듯이 함수는 미지수x를 넣으면 y의값이 나오는 그런것입니다.

함수의 기본구조↓ 

1
2
3
4
5
6
7
8
#include<stdio.h>
//리턴타입:int 함수의이름:add 매개변수:int x, int y
int add(int x, int y) 
//함수의 시작
    int result; // 함수의 기능
    result x + y; //~~
    return result; //~~
//함수의 종료
cs

리턴타입: return result를위의 기본구조에서 하고있다. result는 int형닙니다. 그래서 돌려주는 값이 int이니 리턴타입이 int입니다.


함수의이름: 변수명과같이 아무거나 지정해줄수 있습니다.


매개변수 : 일반적 함수에서 사용하기 위해값을 받습니다.

(함수가 종료되면 사라집니다.)


함수의 경우4가지


이렇게 쓸수있습니다.

※void란? : 값을 안받거나 리턴타입이 없음을 의미합니다.


함수를 만약 사용하는 문장밑에 사용하려면 미리 함수를 선언 해놔야하는 데 만약 밑에 있는 함수가 

int sum(int x, int y)라고 한다면 사용하려는 곳 위에 int sum(int x, int y);이렇게 선언 해주시고 정의는 밑에 해주셔야 오류가 없습니다.


함수를 선언 하는법및 사용법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h>
 
int add (int x, int y)
{
    int result;
    result = (x + y);
     return result;
}
int minus (int x, int y);//중요
int main(void){
    int a = 10, b = 20;
    int result;
    result = add(a, b);
    result = minus(b, a);
    return 0;
}
int minus (int x, int y){
    int result;
    result = (x - y);
    return result;
}
cs

이렇게 선언및 사용할수있습니다.

그럼 여기까지 블로그포스팅을 마치도록 하겠습니다.

함수 -끝-


'C언어' 카테고리의 다른 글

포인터  (0) 2018.01.12
배열  (0) 2018.01.12
switch문  (0) 2018.01.12
입출력관련  (1) 2018.01.12
반복문  (0) 2018.01.12

switch문

if문을 간결히 사용하기위해서 사용합니다.(보통) 

 switch문

사용법 

의미 

 switch

switch(num) 

num에대해 switch문을 실행한다. 

 case

case 3: {  }, case 'a': {  } 

 switch의변수가 case오른쪽값일때 실행문을 실행한다.

 default

default: {  } 

 case에 없는경우 else의역할


소스코드↓

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include<stdio.h>
int main(void){
    int num = 0;
    puts("수를 입력하세요");
    scanf("%d"&num);
    switch(num){
        case 1: {
            puts("1입니다.");
            break;
        }
        case 2: {
            puts("2입니다.");
            break;
        }
        case 3:
            puts("3입니다.");
            break;
        }
        case 4: {
            puts("4입니다.");
            break;
        }
        default: {
            puts("1, 2, 3, 4는아닙니다.");
            break;
        }
    }
    return 0;
}
cs


※break;를 적는이유:switch문은 만약 저예제에서 case 1을 실행한다고 한다면 밑에실행문까지 다실행되버립니다. 그래서 break;를 써서 빠져나오게 해야합니다. 

오늘은 여기까지 포스팅을 마치도록 하겠습니다.

switch문 -끝- 


'C언어' 카테고리의 다른 글

배열  (0) 2018.01.12
함수  (0) 2018.01.12
입출력관련  (1) 2018.01.12
반복문  (0) 2018.01.12
if 조건문  (3) 2017.12.19

표준출력함수

 표준출력함수

 사용법

 의미

 putchar

 putchar(65);, putchar('a');

 단일문자 출력함수이다.

 putc

 putc('a', stdout);

 이것도 단일문자 출력함수이다. putchar을 

이걸로만들었다.

 puts

 puts("Hello World!");

 자동으로 \n이 들어가있다.

문자열이 출력된다.

 printf

 printf("Hello World!");

 이때까지 봤다싶이 문자열 출력함수인데 서식문자를 쓸수있다.


여기서 putchar(65)는 출력값이 A가나온다. 이유↓

C언어에는 아스키코드라는게 존재하는데 문자마다 아스키코드값이 있는데 A의아스키코드값이 65입니다.

Tip:​stdout은 표준출력을 의미합니다.

예제↓ 

1
2
3
4
5
6
7
8
#include<stdio.h>
int main(void){
    putchar(65);
    putc('A', stdout);
    printf("\n");
    puts("Hello World!");
    return 0;
}
cs


결과는

AA

Hello World!

이렇게 나오게됩니다.


표준입력함수

표준입력함수

 사용법

 의미

 getchar

 getchar();

 문자하나를 입력받는다.

 getc

 getc(stdin);

 위와 같지만 getchar을 이걸로 만들었다.

 getch

 getch();

 위와 같다.

 scanf

 scanf("%서식문자", &변수);

 서식문자에따라 정수형 실수형 문자까지 입력받을수있다.

※scanf에 &은 변수의 주소를 의미한다. 변수의주소에 받은걸 넣는다고 보면됩니다.

Tip: scanf는 문자하고 엔터까지 쳐야끝나지만 다른함수들은 문자만치면 입력이끝난다.

소스코드↓

1
2
3
4
5
6
7
8
9
#include<stdio.h>
int main(void){
    int i = 0;
    i = getchar();
    i = getc(stdin);
    i = getch();
    scanf("%c"&i);
    return 0;
}
cs

결과는

i에 사용자가 입력한값이 들어갑니다.


기타처리

상황:단일문자를 입력받는데 사람이 잘못하고 a를써야하는데 ab를 쓰면?

b가 저장되어 버립니다.

 a

 b


이러면 a가대입되는데 버퍼라는곳에 b가남아서 b를 써야합니다. 그래서 썼는데 i값이 b가되어버립니다.

버퍼를 비울때

 함수

 사용법

 의미

 rewind

 rewind(stdin)

표준입출력의 버퍼를비운다.

소스코드↓

1
2
3
4
5
6
7
#include<stdio.h>
int main(void){
    int i = 0;
    i = getchar();
    rewind(stdin);
    return 0;
}
cs

문자만 입력해야하는데 Enter까지 썼을때

getchar을 사용

소스코드↓

1
2
3
4
5
6
7
#include<stdio.h>
int main(void){
    int i = 0;
    i = getchar(); // i
    getchar(); //엔터값을 받음
    return 0;
}
cs

여기까지 블로그 포스팅을 마치도록 하겠습니다.


입출력관련 -끝-



'C언어' 카테고리의 다른 글

함수  (0) 2018.01.12
switch문  (0) 2018.01.12
반복문  (0) 2018.01.12
if 조건문  (3) 2017.12.19
연산자  (0) 2017.12.18

반복문

 반복문

사용법 

의미 

 while

 while (num>1), while (1)

 우측내용이 사실(1)인경우 밑의 실행문장을 실행을 반복하고 거짓(0)이 되는경우 그냥 실행안하고 넘어간다.

 do while

 do{

 } while(num>1)

 한번은 꼭 실행하게된다.

 (다른건 위와같다.)

 for

 for(i=0;i<5;i++), for(;;)

 가운데의 문장이 거짓이될때까지 계속반복한다.


※while(1), for(;;)는 무한반복입니다. 

소스코드↓​

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
 
int main(void){
    int i = 0;
    while (i<5)
    {
        printf("실행문장%d", i);
        i++;
    }
    i=0;
    do{
    printf("실행문장%d", i);
    i++;
    } while(i<1)
    for(i=0;i<1;i++){
    printf("실행문장%d", i);
    }
    return 0;
}
cs

결과는

실행문장0실행문장1실행문장2실행문장3실행문장4실행문장0실행문장0

이렇게 나옵니다.


반복문관련 문법


​break=말그대로 반복문을 깨듯이 실행되면 반복문에서 나가버린다.

continue=실행문의 처음으로 이동한다.

소스코드↓

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
 
int main(void){
    int i = 0;
    while (i<5)
    {
        printf("실행문장%d", i);
        i++;
    }
    i=0;
    do{
    printf("실행문장%d", i);
    i++;
    } while(i<1)
    for(i=0;i<1;i++){
    printf("실행문장%d", i);
    }
    return 0;
}
cs

이렇게 쓸수있습니다.

break는 무한반복을 나가고 싶을 때 자주사용합니다.


반복문 -끝-



'C언어' 카테고리의 다른 글

switch문  (0) 2018.01.12
입출력관련  (1) 2018.01.12
if 조건문  (3) 2017.12.19
연산자  (0) 2017.12.18
자료형과 변수  (0) 2017.12.18

인라인

이것은 줄을 차지하지 않는 것으로써 <sup>이나 <sub>같은 태그가 인라인요소입니다.

블록

줄을 차지하는 요소로 하나의 태그가 한 줄을 차지한다면 블록요소라고 할 수 있습니다.

그리고 블록요소에는 너비나 높이같이 크기를 조정할 수 있습니다.

width, height, margin속성

말그대로 width는 너비(가로)를 뜻하고 height는 높이(세로)를 뜻합니다.

width:15px;와같이 지정할 수 있습니다.


margin은 요소와 요소사이의 거리를 뜻합니다.

이것도 margin:15px과 같이 지정할 수 있습니다.


display속성

요소를 블록이나 인라인으로 만들 때 사용합니다.

display:block;과 같이 쓰입니다.

종류는 inline, block, inline-block, none이 있습니다.

※none과 visiblility:hidden;의 다른점: none은 공간도 없지만 visibillity:hidden;은 공간은 차지합니다.


소스코드↓

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!doctype html>
<html lang="ko">
    <head>
        <meta charset="utf-8">
        <title>html문서</title>
    </head>
    <style>
        div{
            width:300px;
            height:200px;
            background-color:black;
            margin:15px;
            display:inline;
            /*block, inline-block, none*/
        }
        #div2{
            
        }
        #display{
            display:inline;
        }
        #display2{
            display:block;
        }
        #display3{
            display:inline-block;
        }
   </style>
    <body>
        <div style="color:white">1</div>
        <div style="color:white">2</div>
        <div style="color:white">3</div>
    </body>
</html>
cs



테두리 관련


  • border-style

말그대로 테두리의 스타일을 어떻게 할지 정하는 속성입니다.

ex)점선이나 실선같은 것으로 할 수 있습니다.

종류↓

 속성 값

설명 

none 

기본값으로 테두리가 없습니다. 

hidden 

테두리가 표시되지 않습니다. 

dashed

점선의 길이가긴 점선으로 테두리가 생깁니다.

dotted 

점으로된 테두리가 생깁니다.

double 

두겹의 테두리가 생깁니다.

solid

실선의 테두리가 생깁니다.


  • border-width
테두리의 굵기를 정하는 속성입니다.
border-width:15px;와 같이 사용할 수 있습니다.

  • border-color

테두리의 색깔을 정하는 속성입니다.

border-color:black;과같이 사용할 수 있습니다.


  • border
위에서 나온 3개의 태그를 한번에 사용할 수 있게 해줍니다.
border:15px solid red;와같이 사용할 수 있습니다.

  • border-radius
테두리의 각을 원모양으로 둥글게 만들 수 있도록 해줍니다.
border-top-right-radius:10px;처럼 사용할 수 있으며 값만큼의 반지름인 원의 90도 부채꼴의 호만큼 둥글게 만들어줍니다.
만약 값을 두개 적는다면 첫번째가 가로값이 되고 두번째가 세로값이 되는 타원형모양으로 둥글게 만들어줍니다.

종류↓

종류 

설명 

border-top-right-radius 

위쪽에 오른쪽각을 설정합니다.

border-top-left-radius

위쪽에 왼쪽각을 설정합니다. 

border-bottom-left-radius 

밑쪽의 왼쪽각을 설정합니다. 

border-bottom-right-radius 

밑쪽의 오른쪽각을 설정합니다. 


  • box-shadow
요소에 그림자를 만들어주는 속성입니다.
사용법은 box-shadow:가로값 세로값 흐림 번짐 색깔 (inset);과 같이 사용가능합니다.
  1. 가로값: 양수면 오른쪽으로 음수면 왼쪽으로 그림자가 생깁니다.
  2. 세로값: 양수면 아랫쪽으로 음수면 위쪽으로 그림자가 생깁니다.
  3. 흐림: 0부터 선택가능하며 숫자가 높을수록 연한 색깔이 나옵니다.
  4. 번짐: 값만큼 그림자가 번지도록 할 수 있습니다.
  5. 색깔: 말그대로 0x 나 # 아니면black같이 지정할 수 있습니다.
  6. inset 안쪽으로 그림자가 생기게 하고 싶을 때 사용합니다.
소스코드↓
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<!doctype html>
<html lang="ko">
    <head>
        <meta charset="utf-8">
        <title>html문서</title>
    </head>
    <style>
        div{
            width:200px;
            height:300px;
            margin:15px;
        }
        #border1{
            border-style:double;
            border-width:15px;
            border-color:blue;
        }
        #border2{
            border:15px dotted red;
        }
        #border3{
            border-style:solid;
            border-bottom-right-radius:30px;
            border-bottom-left-radius:30px;
            border-top-right-radius:30px;
            border-top-left-radius:30px;
        }
        #border4{
            border-style:solid;
            border-bottom-right-radius:30px 50px;
            border-bottom-left-radius:30px 50px;
            border-top-right-radius:30px 50px;
            border-top-left-radius:30px 50px;
        }
        #border5{
            border-style:solid;
            border-color:gray;
            box-shadow:-3px -3px 50px 5px black;
        }
   </style>
    <body>
        <div id="border1"></div>
        <div id="border2"></div>
        <div id="border3"></div>
        <div id="border4"></div>
        <div id="border5"></div>
    </body>
</html>
cs



여기까지 포스팅을 마치도록 하겠습니다.

'HTML' 카테고리의 다른 글

위치관련 속성  (0) 2018.01.16
마진과 패딩  (0) 2018.01.12
그라데이션 효과 만들기  (1) 2018.01.08
색상과 배경 스타일  (0) 2018.01.07
목록 관련 스타일  (1) 2018.01.05

선형 그라데이션


  • linear-gradient
선형 그라데이션을 나타내는 구문입니다.
사용법은 linear-gradient(각도나 방향, 그라데이션으로 쓸 색상, ~~색상2);
이렇게 사용가능합니다. 그리고 이해하실 때는 각도나 방향 쪽으로 첫번째색상부터 두번째 색상이 나온다고 보시면 됩니다.

방향표현

방향종류 

설명 

to top

위쪽

to right

오른쪽

to left

왼쪽

to bottom

밑쪽


코드예시↓
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!doctype html>
<html lang="ko">
    <head>
        <meta charset="utf-8">
        <title>html문서</title>
    </head>
    <body>
        <style>
            div{
                height:300px;
                width:400px;
            }
            #linear1{
                background:linear-gradient(to top, black, white);
            }
            #linear2{
                background:linear-gradient(to left top, black, white);
                //위와같이 했을 경우 왼쪽 위인 대각선이 됩니다.
            }
            #linear3{
                background:linear-gradient(to right, black, white);
            }
            #linear4{
                background:linear-gradient(to bottom right, black, white);
            }
       </style>
        <div id="linear1">to top</div>
        <div id="linear2">to left top</div>
        <div id="linear3" style="color:white">to right</div>
        <div id="linear4" style="color:white">to bottom right</div>
    </body>
</html>
cs



각도 표현

deg로 나타내며 정확하게 표현할 수 있습니다.


소스코드↓

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!doctype html>
<html lang="ko">
    <head>
        <meta charset="utf-8">
        <title>html문서</title>
    </head>
    <body>
        <style>
            div{
                height:300px;
                width:400px;
            }
            #linear1{
                background:linear-gradient(0deg, black, white);
            }
            #linear2{
                background:linear-gradient(315deg, black, white);
            }
            #linear3{
                background:linear-gradient(90deg, black, white);
            }
            #linear4{
                background:linear-gradient(135deg, black, white);
            }
       </style>
        <div id="linear1">0deg</div>
        <div id="linear2">315deg</div>
        <div id="linear3" style="color:white">90deg</div>
        <div id="linear4" style="color:white">135deg</div>
    </body>
</html>
cs


정해진 위치에 색상추가하기

소스코드↓

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!doctype html>
<html lang="ko">
    <head>
        <meta charset="utf-8">
        <title>html문서</title>
    </head>
    <body>
        <style>
            div{
                height:300px;
                width:400px;
            }
            #linear1{
                background:linear-gradient(to top, black, gray 100px, white);
                //위에서보면 black과 white사이 gray를 방향을 기준으로 100px에 나타내도록 할 수 있습니다.
            }
       </style>
        <div id="linear1"></div>
    </body>
</html>
cs


원형 그라데이션

  • radial-gradient

원형 그라데이션을 나타내며 사용법은 radial-gradient(색상, 색상, .........);이렇게 사용하시면 원 안쪽부터 첫번째 색깔부터 나오게됩니다.


모양 지정

원래 기본값은 eclipse로 타원형입니다. 하지만 radial-gradient(circle이나eclipse, 색상...);이렇게 하시면 모양을 지정할 수 있습니다.


위치 지정

위치의 기본값은 원래 center center로 그냥 중간입니다.

하지만 radial-gradient(at 가로위치 세로위치, 색상...);이렇게 설정하시면 그렇게 나타납니다.


크기 지정

옵션 

설명 

closest-side 

그라데이션의 중심을 축으로 가장 가까운 모서리에 닿을 때까지 원을 그립니다. 

closest-corner

그라데이션의 중심을 축으로 가장 가까운 각에 닿을 때까지 원을 그립니다.

farthest-side

그라데이션의 중심을 축으로 가장 먼 모서리에 닿을 때까지 원을 그립니다.

farthest-corner

그라데이션의 중심을 축으로 가장 먼 각에 닿을 때까지 원을 그립니다.


그라데이션의 반복

  • repeating-radial-gradient
원형 그라데이션을 반복할 수 있도록 만들어 줍니다.
  • repeating-linear-gradient
선형 그라데이션을 반복할 수 있도록 만들어 줍니다.

코드예시↓
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!doctype html>
<html lang="ko">
    <head>
        <meta charset="utf-8">
        <title>html문서</title>
    </head>
    <body>
        <style>
            div{
                height:300px;
                width:400px;
            }
            #radial1{
                background:radial-gradient(black, gray, white);
            }
            #radial2{
                background:radial-gradient(circle at 50% 20%, black, gray, white);
            }
            #radial3{
                background:radial-gradient(circle closest-side at 80% 40%, white, gray, black)
            }
            #radial4{
                background:radial-gradient(circle closest-corner at 20% 30%, white, gray, black);
            }
            #radial5{
                background:radial-gradient(circle farthest-side at 10% 20%, white, gray, black);
            }
            #radial6{
                background:radial-gradient(circle farthest-corner at 10% 80%, white, gray, black);
            }
            #radial7{
                background:repeating-radial-gradient(circle, black, black 30px, gray 30px, gray 60px, white 60px, white 90px);
            }
            #radial8{
                background:repeating-linear-gradient(black, black 10px, gray 10px, gray 20px, white 20px, white 30px);
            }//위를 설명하면 검정색이 0-10px만큼 회색이 10px-20px만큼 흰색이 20px-30px만큼을 반복하는 것입니다.
       </style>
        <div id="radial1"></div>
        <div id="radial2"></div>
        <div id="radial3"></div>
        <div id="radial4"></div>
        <div id="radial5"></div>
        <div id="radial6"></div>
        <div id="radial7"></div>
        <div id="radial8"></div>
    </body>
</html>
cs


여기까지 포스팅을 마치도록 하겠습니다.

'HTML' 카테고리의 다른 글

마진과 패딩  (0) 2018.01.12
박스모델과 테두리 관련 스타일  (0) 2018.01.10
색상과 배경 스타일  (0) 2018.01.07
목록 관련 스타일  (1) 2018.01.05
문단 스타일  (1) 2018.01.04

+ Recent posts