728x90
728x90

  레이아웃 (Layout)  

- 웹사이트 제작에 있어서 가장 먼저 시작하는 것은 어떤 웹사이트를 만들지 , 어떻게 레이아웃을 구성할지 인 것 같다.

- 제작하는 과정에서 수정사항이 생기겠지만, 어떻게 구성을 할지 계획을 세워두고 진행을 한다면 개발하는 과정에서 조금 더 속력을 낼 수 있을 것이라고 생각하고, 항상 레이아웃을 어떤 식으로 구성할지 먼저 생각을 하는 편이다.

- 웹사이트 레이아웃에는 많은 참고자료들이 있고, 구성이 다양하다.

- 먼저 레이아웃을 계획하기 전에 크게 어떤 식으로 나누어지는지 알아보고자 한다.

- 태그나 명령어에 관한 것은 진행하면서 포스팅 하려고 하낟.

 

  레이아웃 기본적인 구성  

- 레이아웃의 구성은 크게 Header / Nav / Main / Footer로 나뉘게 된다.

- Header : HTML 문서나 섹션 부분에 대한 헤더를 정의한다.

  - 보통 웹사이트 로고 또는 타이틀이 주로 배치된다.

- Nav: 웹 사이트의 탐색 링크를 정의한다.

- Main: Section 태그를 이용한 Section 부분을 정의 할수 있지만 주로 나는 Main으로 이름을 짓는 편이다. 

  - 주로 웹사이트들의 페이지의 메인 컨텐츠들이 배치 된다.

- Footer : 웹 사이트의 가장 아래에 오는 부분으로 기업 정보나 , 제작연도, 사이트맵이나, sns링크등이 여기에 배치되는 것을 볼 수 있다.

 

- 기본적인 구성은 위와 같이 이루어져 있으면서 이를 변형하여 많이 사용된다.

- 사이드바를 추가하거나 nav의 위치를 변경하는등 다양한 구성이 있다.

 

  레이아웃 구성 표시하기  

- 기존에 만들어둔 index.html 파일을 수정해서 

- 기본적인 레이아웃을 구성하는 html 과 css 코드를 짜보도록 한다.

 

  태그 추가  

- index.html에 있는 <h1>/<h2>/<h3>부분을 삭제하고 <header>/<div>/<footer> 태그를 추가 한다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
</head>
<body>
<header>header</header>
<div id="main">main</div>
<footer>footer</footer>
</body>
</html>

- div 태그의 id를 main으로 지정해주고 웹사이트에 접속해 본다.

 

- 웹사이트에 접속하면 header/main/footer 텍스트가 출력 된 것을 볼 수 있다.

- 각 태그들의 크기를 보기위해 css파일을 링크시키고 css파일에 코드를 추가해 본다.

 

  링크 css   

-css 파일을 이용해 웹사이트의 스타일을 지정하기 위해서는 .css확장자로 된 css 파일이 필요하다.

- 이를 head부분에 링크한다.

    <link  href="../static/css/style.css" rel="stylesheet">

- href 속성값으로 css파일이 있는 경로를 지정해 주면 된다.

- 플라스크 서버는 jinja2를 지원하므로 이에 맞는 문법을 사용해서 css파일을 링크시킬수 있다.

- 서버를 구성하는 디렉토리에 static 디레토리를 생성하고 이 안에 css 파일을 생성한다.

- 나는 css 디렉토리를 static디렉토리 하위에 생성하여 static - css - style.css로 만들었다.

- 이제 href 속성값으로 url_for 명령어를 사용해서 css파일을 링크시킨다.

 

<link  href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet">

  css 코드 추가  

 

- 이제 header/div#main/footer 태그의 스타일을 지정해준다.

- css의 background-color 명령어를 통해서 각 태그들의 배경색을 가르게 지정해 주어서 각 태그들이 차지하는 크기를 표시한다.

 

header{
    background-color: aliceblue
}
footer{
    background-color: beige
}
#main{
    background-color: rebeccapurple
}

 

- 모든 코드들을 추가한 후 저장하고 웹사이트를 새로고침 해보자.

- 배경색이 css에서 지정한 색으로 바뀐 것을 확인할수 있다.

- 아직 각 태그들의 가로 세로 값을 지정해주지 않아, 텍스트의 폰트 사이즈 만큼만 세로로 배경색이 차지하고 있고, 가로로는 꽉 찬 모습을 볼 수 있다.

 

- 다음 포스팅에서 가로 세로 값을 css파일에서 각 태그들에 부여해보고 전체적인 레이아웃을 구성해 보기로 한다.

728x90
728x90

  포트폴리오 웹사이트 제작  

- 나만의 포트폴리오를 올리면서 이력서 겸 내가 진행 한 프로젝트에 관한 사이트를 만들어 보는 프로젝트를 진행하려고한다.

- 이전에 만들고 중단한 프로젝트가 있지만, 새로이 시작하면서 html,css,js에 대해 다시한번 공부해보려고 한다.

 

  개발환경   

- window 10

- 서버 : flask

- 에디터 : brackets, 파이참

- node.js나 apache,php로 구성된 백엔드를 사용할까 했지만, 현재 python 관련 프로젝트를 진행하고 있어서 flask로 백엔드 서버를 구성 하고, python 언어를 사용하기로 했다.

 

  예상 진행 과정   

- 레이아웃 구성 부터 시작해 데이터를 저장하고 사용하는 과정과 전체적인 디자인을 구성해보는 식으로 진행해 보려고한다.

 

 

 

 

728x90
728x90

안녕하세요. 

이번 포스팅에서는 메인이미지 부분에 그림이나 사진을 넣어 보겠습니다.

 

보통 그림이나 사진을 넣기 위해서는 HTML 에서 img 태그를 사용하거나, CSS background 또는 background-image를 사용합니다.

 

1.img tag

우선 먼저 img 태그를 사용하여 이미지를 삽입해 보겠습니다.

 
1
2
3
4
    
<div id="main-image">mainimage
    <img src="" alt="">
</div>
cs

기존에 div 태그안에 img 태그를 넣은 모습입니다. 

img 태그에는 여러가지 속성이 있습니다.

위에서는 src와 alt속성이 있는데요.

 

각 속성은

 

src : 이미지경로

alt : 이미지묘사 내용

 

입니다.

 

여기서 위에서 보이는 이미지를 한번 넣어 보겠습니다.

 

 

1
<img src="/img/%EB%85%B9%EC%A7%80%EC%A7%80%EC%97%AD.jpg" alt="메인이미지">
cs

 

src에 이미지 경로를 설정해 주었습니다.

 

 

위와같이 이미지가 들어갑니다.

하지만 width값과 height값이 없기 때문에 이미지 파일의 원래 크기대로 들어간 모습입니다.

width와 height값은 img태그 내에서도 지정해 줄수 있지만, 저는 css를 통해서 해봤습니다.

 

 

1
2
3
#main-image img {
    width: 100%;
}
cs

width값만 100%로 설정했을때 이미자가 가로에 꽉차게 들어가게 되었습니다. 이떄 height는 비율에 맞춰 자동으로 값이 설정 되었기때문에 main-image부분을 빠져나와 footer부분을 가리게 됩니다.

 

1
2
3
4
#main-image img {
    width: 100%;
    height: 100%;
}
cs

height 값을 같이 주게 되면, main-image크기에 맞게 비율이 조정 되어 더이상 footer를 가리지 않게 되지만, 이미지의 크기가 달라져 원래의 비율에 맞지 않게 됩니다. 

 

2. CSS / background

 

이번에는 CSS / background를 통해서 이미지를 삽입해 보겠습니다.

 

1
2
3
4
5
#main-image{
    background: url(/img/%EB%85%B9%EC%A7%80%EC%A7%80%EC%97%AD.jpg) no-repeat;
    
}
 
cs

 

1
2
3
4
5
#main-image{
      background-image: url(/img/%EB%85%B9%EC%A7%80%EC%A7%80%EC%97%AD.jpg);
      background-repeat: no-repeat;    
}
 
cs

background에 이미지를 넣을 때는 2가지를 사용할 수 있습니다. 

background 코드에 url 속성을 주거나 

따로

background-img에 url을 이용하여 이미지를 넣을 수 있습니다.

 

이미지를 넣고 나서는 background-repeat / background-size / background-position...를

통해서 이미지의 반복이나 크기,위치등을 조절 할수 있습니다.

 

 

1
2
3
4
5
6
7
8
#main-image {
    height: 100%;
    width: 100%;
       background-image: url(/img/%EB%85%B9%EC%A7%80%EC%A7%80%EC%97%AD.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
cs

제가 원하는대로 main-image안에 이미지가 비율에 맞게 들어간 모습입니다.

 

하지만 원래 이미지크기와 main-image의 크기가 다르다면 이미지가 잘릴수도 있습니다.

 

다음에는 메인이미지에 animate효과를 적용해 보도록 하겠습니다.

728x90
728x90

안녕하세요. 

저번시간에 이어서 제가 구상한 Layout을 HTML과 CSS를 가지고 만들어 보겠습니다.

그리 어렵지 않고, 복잡한 구조가 아니기 때문에 간단한 코딩만으로도 Layout을 구성할수 있었습니다. 

 

1. HTML - index.

<body>
    <div id="container">
        <div id="sidebar">sidebar</div>
        <div id="main-image">mainimage
            </div>

    </div>
    <div id="footer">footer</div>

</body>

먼저 HTML 코드 입니다. 

크게 구성은 main-image와 sidebar를 감싸고 있는 container와 footer로 나뉘어 있습니다. 

각 div는 id속성을 사용하였습니다. 

 

 

 

 

2.CSS - style.css

#container {
    position: relative;
    height: 100%;
    width: 100%;
    text-align: center;
    font-size: 50px;
}

#sidebar {
    position: absolute;
    background-color: #44d1da;
    height: 100%;
    width: 15%;
    opacity: 0.5;
    z-index: 2;
}



#main-image {
    height: 100%;
    width: 100%;
    background-color: #78bcc1;
}


#footer {
    text-align: center;
    width: 100%;
    background-color: #0a696f;
    font-size: 50px;

}

css 부분입니다.

HTML의 id 속성은 css에서 #을 사용하여 선택합니다. 

width값과 height값을 %로 주면서 브라우서 비율변화과 다양한 기기들의 뷰어들에 맞게 대응 할수 있겠끔 하고 싶었습니다. 

처음 시작할때 부터 %를 사용함으로서 나중에 있을 media부분에서의 복잡한 과정을 쉽게 하고 싶었습니다.

 

창 전체 부분을 꽉 채우기 위해서 main image의 width를 100%

sidebar같은 경우 오른쪽에서 15%정도의 크기를 차지 합니다. 

나중에는 오른쪽으로 밀려 나있다가 버튼 클릭시 나타나게끔 할 생각입니다. 

이때 전체 이미지의 비율에 영향을 주지 않기 위해서 

#container 에 position:relative 를 #sidebar에는 position:absolute를 이용하여서 각 div가 겹치게끔 하였습니다. 

이때 sidebar뒤로 main-image부분이 흐릿하게 보이도로 opacity값을 주었습니다. 

 

다음 포스팅에서는 sidebar에 들어갈 menu 부분을 만들어 보겠습니다.

728x90
728x90

 안녕하세요. 

 Hiio - Tistory 입니다.

오래전 부터 관심을 가지고 있던 웹 사이트 만들기에 도전 해보려고 합니다.

웹사이트 제작을 하는 데 도움을 주고 쉽게 할수 있는 툴들이 아주 많습니다.

저는 처음 부터 차근차근히 시작하려고 합니다.

HTML, CSS, Javascript 를 시작으로 많은 것들을 공부 하고 제작하려고 합니다.

이러한 과정을 포스트하면서 어떤식으로 제가 구상을 하고 어떻게 만들어 가고 있는지 보여 드리려고 합니다.

 

그 첫 시작은 <포트폴리오> 웹 사이트 제작 입니다.

오래전부터 제가 만들고 가지고 있던 소스들을 업로드 하고, 게시 할수 있는 심플한 웹사이트를 제작해 보겠습니다.

 

728x90
728x90
728x90

+ Recent posts