#fullscreen-button.btn.btn-info
	%i.fa.fa-expand
View Compiled
html, body {
	height: 100%;
	margin: 0;
	padding: 0;
	background: #333;
}
.btn {
	position: relative;
  top: 50%;
	left: 50%;
  transform: translate(-50%, -50%);
  font-size: 72px;
  line-height: 72px;
  padding: 10px 20px;
  color: #ccc;
	background: #666;
	text-shadow: -1px -1px #333;
	
	&:hover {
		background: #999;
	}
}
View Compiled
var enterFullscreen = function(el) {
	if(el.requestFullscreen) {
		el.requestFullscreen();
	} else if(el.msRequestFullscreen) {
		el.msRequestFullscreen();
	} else if(el.mozRequestFullScreen) {
		el.mozRequestFullScreen();
	} else if(el.webkitRequestFullscreen) {
		el.webkitRequestFullscreen();
	} else {
		noFullscreenSupport();
	}
};

var exitFullscreen = function() {
	if(document.exitFullscreen) {
		document.exitFullscreen();
	} else if(document.msExitFullscreen) {
		document.msExitFullscreen();
	} else if(document.mozCancelFullScreen) {
		document.mozCancelFullScreen();
	} else if(document.webkitExitFullscreen) {
		document.webkitExitFullscreen();
	} else {
		noFullscreenSupport();
	}
};

var noFullscreenSupport = function() {
	alert('Your browser does not support the Fullscreen API.');
};

var fullscreenButton = document.getElementById('fullscreen-button');
fullscreenButton.addEventListener('click', function(e) {
	e.preventDefault();
	if((window.innerWidth === screen.width && window.innerHeight === screen.height) || (window.fullScreen)) {
		exitFullscreen();
	} else {
		enterFullscreen(document.documentElement);
	}	
});

var eventList = ["fullscreenchange", "MSFullscreenChange", "mozfullscreenchange", "webkitfullscreenchange"];
for(event of eventList) {
	window.addEventListener(event, function() {
		if(fullscreenButton.querySelector('.fa').classList.contains('fa-compress')) {
			fullscreenButton.querySelector('.fa').classList.add('fa-expand');
			fullscreenButton.querySelector('.fa').classList.remove('fa-compress');
		} else if(fullscreenButton.querySelector('.fa').classList.contains('fa-expand')) {
			fullscreenButton.querySelector('.fa').classList.remove('fa-expand');
			fullscreenButton.querySelector('.fa').classList.add('fa-compress');
		}
	});
}

External CSS

  1. //netdna.bootstrapcdn.com/twitter-bootstrap/2.2.2/css/bootstrap.no-icons.min.css
  2. //netdna.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.css

External JavaScript

This Pen doesn't use any external JavaScript resources.