Created
January 30, 2016 12:43
-
-
Save bzdgn/503bdfd7aa238ad91d4a to your computer and use it in GitHub Desktop.
CSS Positioning Demo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<style> | |
html, body { | |
height: 100%; | |
margin: 0; | |
padding: 0; | |
} | |
.main-container { | |
position: relative; | |
background-color: black; | |
height: 100%; | |
color: white; | |
margin: 0 auto; | |
padding: 0; | |
} | |
.container { | |
position: absolute; | |
text-align: center; | |
top: 0; | |
width: 100%; | |
height: 100%;; | |
border: 1px solid navy; | |
background-color: #222222; | |
margin: 0 auto; | |
padding: 0; | |
} | |
.top-btn { | |
position: absolute; | |
top: 0; | |
left: 50%; | |
} | |
.bottom-btn { | |
position: absolute; | |
left: 50%; | |
bottom: 0; | |
} | |
.left-btn { | |
position: absolute; | |
top: 50%; | |
left: 0; | |
} | |
.right-btn { | |
position: absolute; | |
top: 50%; | |
right: 0; | |
} | |
.btn { | |
border: 2px solid yellow; | |
background-color: #0000000; | |
color: white; | |
cursor: crosshair; | |
} | |
.item { | |
position: absolute; | |
border: 2px solid black; | |
background-color: lime; | |
width: 10px; | |
height: 10px; | |
top: 50%; | |
left: 50%; | |
} | |
</style> | |
</head> | |
<body> | |
<div class="main-container"> | |
<div class="container"> | |
<div id="up-btn" class="btn top-btn">Up</div> | |
<div id="down-btn" class="btn bottom-btn">Down</div> | |
<div id="left-btn" class="btn left-btn">Left</div> | |
<div id="right-btn" class="btn right-btn">Right</div> | |
<div id="item" class="item"></div> | |
</div> | |
</div> | |
<script> | |
"use strict"; | |
var upBtn = document.getElementById( "up-btn" ); | |
var downBtn = document.getElementById( "down-btn" ); | |
var leftBtn = document.getElementById( "left-btn" ); | |
var rightBtn = document.getElementById( "right-btn" ); | |
var item = document.getElementById( "item" ); | |
var delta = 10; | |
upBtn.addEventListener( "click", function() { moveUp(item) ; } ); | |
downBtn.addEventListener( "click", function() { moveDown(item) ; } ); | |
leftBtn.addEventListener( "click", function() { moveLeft(item) ; } ); | |
rightBtn.addEventListener( "click", function() { moveRight(item) ; } ); | |
function moveUp(el) { | |
var x = getOffsetX(el); | |
var y = getOffsetY(el); | |
var newY = y - delta; | |
move(el, x, newY); | |
} | |
function moveDown(el) { | |
var x = getOffsetX(el); | |
var y = getOffsetY(el); | |
var newY = y + delta; | |
move(el, x, newY); | |
} | |
function moveLeft(el) { | |
var x = getOffsetX(el); | |
var y = getOffsetY(el); | |
var newX = x - delta; | |
move(el, newX, y); | |
} | |
function moveRight(el) { | |
var x = getOffsetX(el); | |
var y = getOffsetY(el); | |
var newX = x + delta; | |
move(el, newX, y); | |
} | |
function move(el, x, y) { | |
el.style.left = x + 'px'; | |
el.style.top = y + 'px'; | |
} | |
function getOffsetX(el) { | |
return el.offsetLeft; | |
} | |
function getOffsetY(el) { | |
return el.offsetTop; | |
} | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment