Make the left side area

The answer to the question, https://www.xetown.com/qna/516780 .
You can post submenus and some contents on the left.
This commit is contained in:
MinSoo Kim 2017-03-10 02:09:59 +09:00
parent d29961c95c
commit 2bab4c7a6c
3 changed files with 135 additions and 47 deletions

View file

@ -4,8 +4,8 @@
<title xml:lang="en">Rectangular World</title>
<description xml:lang="ko">깔끔한 면과 그림자 레이아웃</description>
<description xml:lang="en">Simple rectangular planes and shadows</description>
<version>1.0.1</version>
<date>2016-09-25</date>
<version>1.1.0</version>
<date>2017-03-10</date>
<author email_address="misol.kr@gmail.com" link="https://github.com/misol">
<name xml:lang="ko">misol</name>
<name xml:lang="en">misol</name>
@ -35,6 +35,24 @@
<title xml:lang="en">Top left</title>
</options>
</var>
<var name="left_space" type="select">
<title xml:lang="ko">죄측 공간 만들기</title>
<title xml:lang="en">Make a space on the left</title>
<description xml:lang="ko">본문 좌측에 공간을 만듭니다.</description>
<description xml:lang="en">Make a space on the left of contents area.</description>
<options value="N">
<title xml:lang="ko">만들지 않습니다.</title>
<title xml:lang="en">I don't need it.</title>
</options>
<options value="Y">
<title xml:lang="ko">공간을 만듭니다.</title>
<title xml:lang="en">I need it.</title>
</options>
<options value="YM">
<title xml:lang="ko">공간을 만들고, 서브 메뉴를 나타냅니다.</title>
<title xml:lang="en">I need it, and place there submenus.</title>
</options>
</var>
<var name="LOGO_IMG" type="image">
<title xml:lang="ko">사이트 로고 이미지</title>
<title xml:lang="en">Site logo image</title>
@ -52,6 +70,11 @@
<title xml:lang="en">Before the content area content</title>
<description xml:lang="ko">사이트 본문 영역 상단에 내용을 입력할 수 있습니다.</description>
</var>
<var name="left_content" type="textarea">
<title xml:lang="ko">사이트 본문 좌측 내용</title>
<title xml:lang="en">The contents of the left of contents area</title>
<description xml:lang="ko">사이트 본문 영역 좌측 영역이 나타나게 선택되었을 경우 추가될 내용을 입력할 수 있습니다.</description>
</var>
<var name="after_content" type="textarea">
<title xml:lang="ko">사이트 본문 하단 내용</title>
<title xml:lang="en">After the content area content</title>

View file

@ -113,11 +113,26 @@
</nav>
<!--// Menu -->
</header>
<div class="layout_frame layout_body">
<div class="layout_frame layout_body<!--@if(in_array($layout_info->left_space, array('Y', 'YM')))--> layout_left_content<!--@end-->">
<!--// VISUAL -->
<div class="layout_body layout_canvas">
<!--// CONTENT -->
<div class="layout_content" id="content">
<div class="layout_content layout_left_content" cond="in_array($layout_info->left_space, array('Y', 'YM'))">
<section class="layout_left layout_dropdown" cond="$layout_info->left_space == 'YM'">
<h1 loop="$GNB->list=>$key1,$val1" cond="$val1['selected']"><a href="{$val1['href']}" target="_blank"|cond="$val1['open_window']=='Y'">{$val1['link']}</a></h1>
<ul class="layout_dropdown-content" loop="$GNB->list=>$key1,$val1" cond="$val1['selected'] && $val1['list']">
<li loop="$val1['list']=>$key2,$val2"><a href="{$val2['href']}" class="active"|cond="$val2['selected']" target="_blank"|cond="$val2['open_window']=='Y'">{$val2['link']}</a>
<ul cond="$val2['list']">
<li loop="$val2['list']=>$key3,$val3" class="active"|cond="$val3['selected']"><a href="{$val3['href']}" target="_blank"|cond="$val3['open_window']=='Y'">{$val3['link']}</a></li>
</ul>
</li>
</ul>
</section>
<section class="layout_left" cond="trim($layout_info->left_content)">
{$layout_info->left_content}
</section>
</div>
<div class="layout_content" id="content">
{$layout_info->before_content}
{$content}
{$layout_info->after_content}

View file

@ -43,8 +43,9 @@ body {
width:100%;
margin:0 auto;
}
header.layout_frame, footer.layout_frame{
header.layout_frame, footer.layout_frame, .layout_frame.layout_left_content .layout_left_content{
font-family: "맑은 고딕", "Apple SD Gothic Neo","나눔고딕",NanumGothic,'Nanum Gothic',Arial,Helvetica,sans-serif;
font-size: 14px;
}
.layout_header {
padding:0;
@ -62,6 +63,54 @@ header.layout_frame, footer.layout_frame{
.layout_body {
position: relative;
}
.layout_left_content.layout_frame>.layout_canvas {
div.layout_content {
float:left;
width: 20%;
box-sizing: border-box;
section.layout_left{
margin: 2px;
background: #fff;
box-shadow: 0 1px 2px rgba(0,0,0,0.16), 0 1px 2px rgba(0,0,0,0.23);
h1 {
border-bottom: 1px solid #e0e0e0;
font-weight: 400;
margin: 0;
position: relative;
a {
display: block;
margin: 0;
padding: 14px 16px;
font-size: 14px;
color: $primary-color;
text-decoration: none;
}
}
ul.layout_dropdown-content {
display: block;
position: relative;
z-index: none;
padding: 0;
margin: 0;
list-style: none;
a {
display: block;
padding: 14px 16px;
text-decoration: none;
color: #000;
&:hover, &:active, &:focus, &.active {
background: #eeeeee;
outline: none;
}
}
}
}
}
#content {
width: 80%;
}
}
.layout_header:after,
.layout_body:after {
@ -122,10 +171,9 @@ header.layout_frame {
font-weight: bold;
text-decoration: none;
color: lighten($primary_color, 31%);
}
a:hover,
a:focus {
text-decoration: underline
&:hover, &:active, &:focus {
text-decoration: underline
}
}
}
@ -144,7 +192,6 @@ header.layout_frame {
input[type="text"] {
width: 126px;
line-height: 18px;
font-size: 14px;
margin: 0;
padding: 8px 8px 6px 8px;
position: relative;
@ -154,11 +201,10 @@ header.layout_frame {
border: none;
background: lighten($primary-color, 20%);
color: layoutGrayContrast(lighten($primary-color, 20%), 0.710);
}
input[type="text"]:hover,
input[type="text"]:focus {
background: lighten($primary-color, 50%);
color: layoutGrayContrast(lighten($primary-color, 50%), 0.710);
&:hover, &:active, &:focus {
background: lighten($primary-color, 50%);
color: layoutGrayContrast(lighten($primary-color, 50%), 0.710);
}
}
input[type="submit"] {
vertical-align: bottom;
@ -168,11 +214,10 @@ header.layout_frame {
height:32px;
padding:0 15px;
margin:0;
}
input[type="submit"]:hover,
input[type="submit"]:focus {
background:$primary-color;
color: layoutGrayContrast($primary-color, 0.710);
&:hover, &:active, &:focus {
background:$primary-color;
color: layoutGrayContrast($primary-color, 0.710);
}
}
}
@ -192,7 +237,6 @@ header.layout_frame {
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 13px;
line-height: 1;
}
li.active>a {
@ -348,19 +392,19 @@ header.layout_frame .layout_menu{
.layout_language li{
list-style:none;
background: lighten($grey, 40%);
}
.layout_language li button {
display:block;
color: black;
background: lighten($grey, 40%);
padding: 12px 16px;
text-decoration: none;
width: 100%;
display: block;
text-align: left;
box-sizing: border-box;
border:0;
cursor:pointer;
button {
display:block;
color: black;
background: lighten($grey, 40%);
padding: 12px 16px;
text-decoration: none;
width: 100%;
display: block;
text-align: left;
box-sizing: border-box;
border:0;
cursor:pointer;
}
}
/* Hamberger menu http://callmenick.com/post/animating-css-only-hamburger-menu-icons Licensed under the MIT license, http://www.opensource.org/licenses/mit-license.php Copyright 2014, Call Me Nick http://callmenick.com */
@ -408,12 +452,12 @@ header.layout_frame .layout_menu{
span::after {
bottom: -19px;
}
&:focus {
outline: none;
}
}
.layout_mobile_menu:focus {
outline: none;
}
.layout_mobile_menu--htx {
background-color: $primary-color;
@ -497,7 +541,14 @@ header.layout_frame .layout_menu{
opacity: 0.9;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}
.layout_left_content.layout_frame>.layout_canvas {
div.layout_content {
display:none;
}
#content{
width:100%;
}
}
/* GNB */
.layout_menu {
display: none;
@ -550,15 +601,14 @@ header.layout_frame .layout_menu{
min-width: 100%;
box-shadow: none;
z-index:1;
}
.layout_menu .layout_dropdown-content a {
background-color: lighten($grey, 35%);
color: layoutGrayContrast(lighten($grey, 35%), 0.710);
padding: 15px 30px;
text-decoration: none;
display: block;
text-align: left;
a {
background-color: lighten($grey, 35%);
color: layoutGrayContrast(lighten($grey, 35%), 0.710);
padding: 15px 30px;
text-decoration: none;
display: block;
text-align: left;
}
}
.layout_footer .layout_menu {