lundi 30 mars 2015

HTML and CSS Window Layout Design

I am facing a problem to design a window layout, here is my sample code and my problem is graphically represented thanks.


[N.B]: Window layout will be draggable and resizable, I will maintain this by using jquery later.


Problem enter image description here


SAMPLE CODE


HTML



<!DOCTYPE html>
<html>

<head>
<script data-require="jquery@2.1.3" data-semver="2.1.3" src="http://ift.tt/16ygW8q"></script>
<link data-require="bootstrap@*" data-semver="3.3.2" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" />
<link data-require="jqueryui@*" data-semver="1.10.0" rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.0/css/smoothness/jquery-ui-1.10.0.custom.min.css" />
<script data-require="jqueryui@*" data-semver="1.10.0" src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.0/jquery-ui.js"></script>
<script data-require="bootstrap@*" data-semver="3.3.2" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>

<body>
<h1>Hello Plunker!</h1>
<header>
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li id="li-home" class="active">
<a href="#">Home <span class="sr-only">(current)</span>
</a>
</li>
<li id="li-contact">
<a href="#">Contact</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown <span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="#">Action</a>
</li>
<li>
<a href="#">Another action</a>
</li>
<li>
<a href="#">Something else here</a>
</li>
<li class="divider"></li>
<li>
<a href="#">Separated link</a>
</li>
<li class="divider"></li>
<li>
<a href="#">One more separated link</a>
</li>
</ul>
</li>
</ul>
<form class="navbar-form navbar-left" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search" />
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="#">Link</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown <span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="#">Action</a>
</li>
<li>
<a href="#">Another action</a>
</li>
<li>
<a href="#">Something else here</a>
</li>
<li class="divider"></li>
<li>
<a href="#">Separated link</a>
</li>
</ul>
</li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
</nav>
</header>
<div class="container-fluid main-container">
<div class="window">
<div class="window-header" data-dismiss="window-dblclick">
<div class="window-title-bar">
<i class="fa fa-cogs"></i>
<span class="window-title">window Title</span>
</div>
<div class="window-custom-title"></div>
<div class="window-actions">
<a href="#" class="window-action btn-min" data-dismiss="window-minimize" aria-hidden="true">
<span class="fa fa-minus" title="Minimize"></span>
</a>
<a href="#" class="window-action btn-max" data-dismiss="window-maximize" aria-hidden="true">
<span data-maximize="maximize" class="fa fa-square-o" title="Maximize"></span>
</a>
<a href="#" class="window-action btn-close" data-dismiss="window" aria-hidden="true">
<span class="fa fa-close" title="Close"></span>
</a>
</div>
</div>
<div class="window-body"></div>
<div class="window-footer">
<a>link</a>
</div>
<!-- <div class="resize-handle resize-n"></div>
<div class="resize-handle resize-e"></div>
<div class="resize-handle resize-s"></div>
<div class="resize-handle resize-w"></div>
<div class="resize-handle resize-se"></div>
<div class="resize-handle resize-sw"></div>
<div class="resize-handle resize-ne"></div>
<div class="resize-handle resize-nw"></div>-->
</div>
</div>
<footer>
<nav class="navbar navbar-inverse navbar-fixed-bottom">
<div class="container">
<div id="windowPane"></div>
</div>
</nav>
</footer>
</body>

</html>


CSS



html,
body {
height: 100%;
margin: 0px;
overflow: hidden;
}
.navbar {
margin-bottom: 0px;
}
.main-container {
background-color: #888888;
height: 100%;
position: relative;
}
.full-window {
width: 100% !important;
height: 100% !important;
left: 0 !important;
right: 0 !important;
top: 0 !important;
bottom: 0 !important;
min-width: 120px !important;
max-width: 100% !important;
margin: 0 auto !important;
position: absolute !important;
z-index: 1049;
}
.window {
position: absolute;
background-color: #1c1c1c;
border: 1px solid #999;
outline: 0;
width: 50%;
height: 50%;
left: 0;
right: 0;
top: 0;
bottom: 50px;
min-width: 240px;
max-width: 100%;
min-height: 320px;
margin: 0 auto;
resize: none;
}
.window.active > .window-header > .window-title {
color: #428bca;
}
.window > .window-header {
position: relative;
cursor: move;
padding: 5px;
padding-top: 0px;
border-bottom: 0px solid #e5e5e5;
display: table;
width: 100%;
background-color: #1c1c1c;
}
.window > .window-header > .window-title-bar {
margin: 0;
line-height: 1.428571429;
display: table-cell;
float: left !important;
color: #fff;
}
.window > .window-header > .window-title-bar > i {
color: #fff;
margin-right: 6px;
}
.window > .window-header > .window-custom-title {
display: table-cell;
}
.window > .window-header > .window-actions {
margin: 0;
line-height: 1.428571429;
display: table-cell;
float: right !important;
overflow: hidden;
}
.window > .window-header > .window-actions > .window-action {
display: inline-block;
text-decoration: none;
vertical-align: middle;
border-color: transparent;
cursor: pointer;
outline: 0;
}
.window > .window-header > .window-actions > .window-action.btn-min,
.window > .window-header > .window-actions > .window-action.btn-max {
background: #f0f9ff;
/* Old browsers */
background: -moz-linear-gradient(top, #f0f9ff 0%, #0c0a0a 47%, #f0f9ff 100%);
/* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f0f9ff), color-stop(47%, #0c0a0a), color-stop(100%, #f0f9ff));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #f0f9ff 0%, #0c0a0a 47%, #f0f9ff 100%);
/* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #f0f9ff 0%, #0c0a0a 47%, #f0f9ff 100%);
/* Opera 11.10+ */
background: -ms-linear-gradient(top, #f0f9ff 0%, #0c0a0a 47%, #f0f9ff 100%);
/* IE10+ */
background: linear-gradient(to bottom, #f0f9ff 0%, #0c0a0a 47%, #f0f9ff 100%);
/* W3C */
filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#f0f9ff', endColorstr='#f0f9ff', GradientType=0);
/* IE6-9 */
padding: 1px 6px;
border: 1px solid #ccc;
color: #fff;
margin-right: -5px;
}
.window > .window-header > .window-actions > .window-action.btn-min: hover, .window > .window-header > .window-actions > .window-action.btn-max: hover {
-webkit-box-shadow: inset 0px 0px 151px -50px #00cef2;
-moz-box-shadow: inset 0px 0px 151px -50px #00cef2;
box-shadow: inset 0px 0px 151px -50px #00cef2;
}
.window > .window-header > .window-actions > .window-action.btn-close {
background: #e78677;
/* Old browsers */
background: -moz-linear-gradient(top, #e78677 0%, #c44205 50%, #c01e03 51%, #e17225 100%);
/* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e78677), color-stop(50%, #c44205), color-stop(51%, #c01e03), color-stop(100%, #e17225));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #e78677 0%, #c44205 50%, #c01e03 51%, #e17225 100%);
/* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #e78677 0%, #c44205 50%, #c01e03 51%, #e17225 100%);
/* Opera 11.10+ */
background: -ms-linear-gradient(top, #e78677 0%, #c44205 50%, #c01e03 51%, #e17225 100%);
/* IE10+ */
background: linear-gradient(to bottom, #e78677 0%, #c44205 50%, #c01e03 51%, #e17225 100%);
/* W3C */
filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#e78677', endColorstr='#e17225', GradientType=0);
/* IE6-9 */
color: #fff;
padding: 1px 12px;
border: 1px solid #ccc;
}
.window > .window-header > .window-actions > .window-action.btn-close: hover {
-webkit-box-shadow: inset 0px 0px 151px -50px #fcffff;
-moz-box-shadow: inset 0px 0px 151px -50px #fcffff;
box-shadow: inset 0px 0px 151px -50px #fcffff;
}
.window > .window-body {
position: relative;
min-height: 100%;
overflow-x: hidden;
overflow-y: scroll;
position: relative;
border: 1px solid #ccc;
margin: 0 5px 0 5px;
background-color: #fff;
}
.window > .window-footer {
position: relative;
min-height: 16.428571429px;
background-color: #1c1c1c;
}
.window > .resize-handle {
position: absolute;
z-index: 1;
background-color: #fff;
font-size: 0;
line-height: 6px;
filter: alpha(opacity=0);
opacity: 0;
zoom: 1;
display: block;
}
.window > .resize-n {
top: -3px;
left: 0;
width: 100%;
height: 6px;
cursor: n-resize;
}
.window > .resize-e {
top: 0;
right: -3px;
width: 6px;
height: 100%;
cursor: e-resize;
}
.window > .resize-s {
bottom: -3px;
left: 0;
width: 100%;
height: 6px;
cursor: s-resize;
}
.window > .resize-w {
top: 0;
left: -3px;
width: 6px;
height: 100%;
cursor: w-resize;
}
.window > .resize-sw {
bottom: -3px;
left: -3px;
width: 6px;
height: 6px;
cursor: sw-resize;
}
.window > .resize-ne {
top: -3px;
right: -3px;
width: 6px;
height: 6px;
cursor: ne-resize;
}
.window > .resize-nw {
top: -3px;
left: -3px;
width: 6px;
height: 6px;
cursor: nw-resize;
}
.window.ns-resize {
cursor: ns-resize;
}
.window.ew-resize {
cursor: ew-resize;
}
.disable-shade {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
background-color: rgba(255, 255, 255, 0.5);
display: none;
}
.disable-scroll {
overflow: hidden;
}
.disable-select {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.window-pane {
z-index: 999;
}
.window-pane .label {
cursor: pointer;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.window-pane .label .close {
float: none;
font-size: 14px;
margin-left: 4px;
}
.window-pane .label + .label {
margin-bottom: 0;
margin-left: 5px;
}
/*# sourceMappingURL=window.css.map */


PLUNKER


Aucun commentaire:

Enregistrer un commentaire