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

안녕하세요.

이번 포스팅은 header 부분을 추가로 만들어 보기로 하겠습니다.

header부분에 들어갈 것은 title정도 밖에 없긴 하지만 다른 요소들에 맞춰서 제가 원하는 위치와 크기를 가지도록 만들어 보겠습니다.

 

<div id="container">
       <header>Hiio</header>
        <div id="sidebar">sidebar

            <ul><span>Menu</span>

                <li><a href="">Home</a></li>
                <li><a href="">About US</a></li>
                <li><a href="">Gallery</a></li>
                <li><a href="">Contact us</a></li>

            </ul>

        </div>
        <div id="main-image">mainimage
        </div>

    </div>

container 태드 안에 header를 넣어 줍니다. 

Hiio라는 타이틀을 텍스트로 작성해줬습니다.

header를 그냥 추가 하게 되면 container에 적용했던 css의 영향을 받으면서 sidebar와 mainimage가 header밑으로 오게 됩니다. 

제가 원하는 것은 mainimage위로 title이 오는 것이기 때문에 css를 통해서 조정해 줍니다.

 

header{
    position: absolute;
}

hedert 태그에 position:absolute를 주게 되면

그림 처럼 sidebar와 mainimage가 위로 올라오면서 header가 mainimage와 겹쳐지게 됩니다.

header{
    position: absolute;
    left: 16%;
    font-size: 200%;
}

여기서 title의 위치를 sidebar옆으로 옭기고 글자 크기를 크게 바꿔줍니다.

left값을 주면 오른쪽으로 값만큼 옮겨지게 됩니다.

 

보시는 거와 같이 header 부분을 추가 시켜 봤습니다.

다음에는 sidebar를 버튼을 누르면 사라지고 나타나게 하는 기능을 추가해 보겠습니다.

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

 

안녕하세요.

이번 포스팅에서는 Sidebar에 들어갈 Menu를 만들어 보겠습니다.

사용된 태그는 ul, li 입니다.

보시는 바와 같이 sidebar에 메뉴를 넣어 주기 위해서 id가 sidebar인 div에 ul,li 태그는 삽입해 줍니다.

<ul>

	<li></li>
	<li></li>
	<li></li>
	<li></li>

</ul>



 

각 ul,li 태그들 사이에 필요한 텍스트를 적어 줍니다. 

저는 ul tag에는 menu, 각 li 태그들에는 첫 페이지로 돌아갈수 있는 home, 저의 웹사이트를 소개하는 about us, 포트폴리오 gallary, 그리고 저에게 연락할수 있는 contact us를 만들었습니다.

필요한 페이지를 우선 대력적으로 생각하여 필요한 만큰 li갯수를 정해 만들어 주면 됩니다.

 

 

<ul>Menu

	<li>Home</li>
	<li>About Us</li>
	<li>Gallery</li>
	<li>Contact Us</li>

</ul>


각 텍스트들을 삽입후 css로 폰트 사이즈와 위치를 정해 줍니다.

#sidebar {
    position: absolute;
    background-color: rgba( 255, 255, 255, 0.5 );
    height: 100%;
    width: 15%;
    z-index: 2;
}

#sidebar > ul {
    margin-top: 100px;
}

#sidebar > ul > span {
    display: block;
    margin-bottom: 50px;
}

#sidebar > ul > li {
    font-size: 30px;
    padding: 10px;
}

 

 

li 텍스트들은 menu 폰트 사이즈 보다 작게 했습니다.

저번 포스팅에서 sidebar의 opacity값은 0.5로 하여서 main-image가 흐릿하게 보이도록 하였습니다.

하지만 opacity값은 배경뿐만아니라 폰트도 함께 불투명해지기 때문에 sidebar에 opcity값을 빼고,

background-color값을 rgba로 바꾸면서 함께 opacity값을 주면 뒷 배경만 불투명해지고 폰트들은 변하지 않습니다.

 

다음시간에는 추가적으로 header부분을 만들어서 title을 넣어 보겠습니다.

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
728x90

+ Recent posts