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

안녕하세요. 

이번 포스팅에서는 저번에 만들었던 사이드바 메뉴를 css와 checkbox를 이용해서 slide시켜 나타났다 사라지게 하는 것을 만들어 보겠습니다.

 

 

1. input & label

먼저 html에 input과 label 태그를 작성해 줍니다.

<input type="checkbox" id="sidebtn">

        <label for="sidebtn" class="sidebtn"> button

        </label>

 

input에서 type은 checkbox로 설정해 주시고, label 태그 안에 for에는 input의 id속성값을 넣어서 연결 시켜 줍니다.

그러면 아래와 같이 만들어 집니다.

여기서 input과 label을 연결시켜주면 checkbox를 클릭하지 않아도, label을 클릭하면 똑같은 효과가 나타납니다.

 

 

그래서 저에게 필요한 것은 label 만 있으면 되므로 input태그는 css에서 display:none;으로 없애줍니다.

#sidebtn{
	display:none;
}

 

이제 label에 width값과 height값을 주고 그안에 span을 넣어서 Burger button을 만들어 줍니다.

 

 

-HTML

<label for="sidebtn" class="sidebtn"> button
            <span></span>
            <span></span>
            <span></span>
        </label>

-CSS

.sidebtn {
    width: 50px;
    height: 50px;
}



.sidebtn span {
    display: block;
    width: 100%;
    height: 5px;
    background-color: black;
    border-radius: 10px;
    position: absolute;
    transition: all 0.25s;
}

.sidebtn span:nth-child(1) {
    top: 10%;
}

.sidebtn span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
}

.sidebtn span:nth-child(3) {
    bottom: 10%;
}

label 안에 span 태그를 이용합니다. 3개 정도 만들어줍니다.

css에서는 nth-child를 통해서 각 span의 위치를 잡아줍니다.

 

이제 checkbox가 checked됐을때 효과를 이용하여 sidebar가 슬라이드 되어 나올수 있도록 해줍니다.

 

css에서 checkbox가 checked됐다는 코드는

input뒤에 :checked를 써서 알려줍니다.

이제 이 코드를 이용하여 체크시 사이드바가 출현하게끔 하기위해서 css선택자들 중 +를 통해서 각 태그들을 선택하여 

left값을 조절하여 나타나고 사라지게 한다음,

transition을 통해서 시간차를 주어 천천히 사라지고 나타나게끔합니다.

 

 

See the Pen pooBRZY by hongsam (@hongsamhc) on CodePen.

완성된 코드 입니다.

 

이것을 저번에 만들었던 페이지에 적용 시켜 줍니다.

 

기본적으로 저는 사이드바가 왼쪽에서 슬라이드 되어 나오는 것으로 했습니다.

기본 페이지에서는 사라져있다가 버튼을 클릭하면 아래 그림처럼 나오게 됩니다.

 

완성된 화면입니다.

transition 값을 조절하여 버튼와 사이드바 이동시간을 조절하여 마은에 드는 슬라이드형 사이드바를 만들면 좋을것 같습니다.

 

다음에는 메인이미지를 적용 시켜 보겠습니다.

 

728x90
728x90

무료로 사용할수 있는 템플릿들을 소개합니다.

 

1. ARCH4

 갤러리를 중심으로 자신만의 이미지들을 링크해서 만들수 있는 템플릿입니다. 

 건축과 관련된것이 아니더라도 다양한 이미지 포트폴리오들을 만들수 있을것 같습니다. 

 첫 페이지에 나와있는 텍스트를 따라 보이는 이미지가 인상적입니다.

 

https://www.free-css.com/free-css-templates/page246/arch4

 

Arch4 Free Website Template | Free CSS Templates | Free CSS

 

www.free-css.com

 

2.marble

 

오른쪽 navigation - sidebar와 함께 큰 main image를 첫페이지에 보여줄수 있는 구성입니다.

모던하면서도 베이직한 웹 템플릿입니다. 심플한 디자인을 좋아하시는 분들이 사용해 보시면 좋을것 같습니다.

 

https://www.free-css.com/free-css-templates/page244/marble

 

Marble Free Website Template | Free CSS Templates | Free CSS

 

www.free-css.com

 

3.Black

Black 이라는 이름에 맞게 전체적인 background 가 검은색인 1page 웹 템플릿 입니다.

 

하나의 페이지로 스크롤을 내리면서 자신의 작품들을 보여줄수 있는 포트폴이로를 만들기에 좋은것같습니다.

 

https://www.free-css.com/free-css-templates/page239/black

 

Black Free Website Template | Free CSS Templates | Free CSS

 

www.free-css.com

 

728x90

'Web > template' 카테고리의 다른 글

[Web] 무료 이미지 사이트 모음 - Free image website ##1  (0) 2020.10.12
728x90
728x90

+ Recent posts