mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 19:30:07 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			252 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			HTML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			252 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			HTML
		
	
	
		
			Executable File
		
	
	
	
	
| <html>
 | |
| 
 | |
| <style>
 | |
| 
 | |
| .image {
 | |
| 	position: relative;
 | |
| 	display: inline-block;
 | |
| 	vertical-align: middle;
 | |
| 	text-align:left;
 | |
| 	width: 300px;
 | |
| 	height: 300px;
 | |
| 	font-size: 12pt;
 | |
| 	overflow: hidden;
 | |
| 
 | |
| 	box-sizing: border-box;
 | |
| 	color: white;
 | |
| 
 | |
| 	text-shadow: black 0.1em 0.1em 0.4em, black 0.1em 0.1em;
 | |
| 
 | |
| 	background: no-repeat 50% black;
 | |
| 	background-size: contain;
 | |
| 	/* XXX do we need this? */
 | |
| 	border: solid black 5px;
 | |
| 
 | |
| 	/*-webkit-filter: invert(1);*/
 | |
| }
 | |
| .current.image {
 | |
| 	background: no-repeat 50% black;
 | |
| 	background-size: contain;
 | |
| 
 | |
| 	/* XXX remove this... */
 | |
| 	border: solid red 5px;
 | |
| }
 | |
| 
 | |
| .ribbon {
 | |
| 	position: relative;
 | |
| 	display: block;
 | |
| 	height: auto;
 | |
| 	min-width: 0px;
 | |
| 	overflow: visible;
 | |
| 	white-space: nowrap;
 | |
| 	font-size: 0;
 | |
| 
 | |
| 	margin-top: 20px;
 | |
| 	margin-bottom: 20px;
 | |
| }
 | |
| .ribbon:empty {
 | |
| 	display: none;
 | |
| }
 | |
| .ribbon:first-child {
 | |
| 	margin-top: 0px;
 | |
| }
 | |
| .ribbon:last-child {
 | |
| 	margin-bottom: 0px;
 | |
| }
 | |
| 
 | |
| 
 | |
| /*********************************************************************/
 | |
| 
 | |
| 
 | |
| .image2:before,
 | |
| .image2 {
 | |
| 	position: relative;
 | |
| 	display: inline-block;
 | |
| 	vertical-align: middle;
 | |
| 	text-align:left;
 | |
| 	font-size: 12pt;
 | |
| 	overflow: visible;
 | |
| 
 | |
| 	color: white;
 | |
| }
 | |
| .image2 {
 | |
| 	width: 290px;
 | |
| 	height: 290px;
 | |
| 	background: no-repeat 50% transparent;
 | |
| 	background-size: contain;
 | |
| 	margin: 5px;
 | |
| 
 | |
| 	-webkit-filter: invert(1);
 | |
| }
 | |
| 
 | |
| .ribbon {
 | |
| 	display: inline-block;
 | |
| 	background: black;
 | |
| }
 | |
| 
 | |
| .current.image2:before {
 | |
| 	position: relative;
 | |
| 	content: "";
 | |
| 	top: -5px;
 | |
| 	left: -5px;
 | |
| 	width: 100%;
 | |
| 	height: 100%;
 | |
| 
 | |
| 	/* XXX this is affected by the filter... */
 | |
| 	border: solid 5px red;
 | |
| }
 | |
| 
 | |
| /*********************************************************************/
 | |
| 
 | |
| .image3 div,
 | |
| .image3 {
 | |
| 	position: relative;
 | |
| 	display: inline-block;
 | |
| 	vertical-align: middle;
 | |
| 	text-align:left;
 | |
| 	width: 300px;
 | |
| 	height: 300px;
 | |
| 	font-size: 12pt;
 | |
| 	overflow: hidden;
 | |
| 
 | |
| 	box-sizing: border-box;
 | |
| 	color: white;
 | |
| 	background: black;
 | |
| 
 | |
| 	text-shadow: black 0.1em 0.1em 0.4em, black 0.1em 0.1em;
 | |
| 
 | |
| 	border: solid black 5px;
 | |
| }
 | |
| .image3 div {
 | |
| 	position: absolute;
 | |
| 
 | |
| 	width: 100%;
 | |
| 	height: 100%;
 | |
| 
 | |
| 	background: no-repeat 50% transparent;
 | |
| 	background-size: contain;
 | |
| 	border: none;
 | |
| 
 | |
| 	-webkit-filter: invert(1);
 | |
| }
 | |
| .current.image3 {
 | |
| 	background: no-repeat 50% black;
 | |
| 	background-size: contain;
 | |
| 
 | |
| 	/* XXX remove this... */
 | |
| 	border: solid red 5px;
 | |
| }
 | |
| 
 | |
| 
 | |
| /*********************************************************************/
 | |
| 
 | |
| .mark {
 | |
| 	display: inline-block;
 | |
| 	position: relative;
 | |
| 	width: 300px;
 | |
| 	height: 300px;
 | |
| 	margin-left: -300px;
 | |
| 	left: 0px;
 | |
| 	box-sizing: border-box;	
 | |
| 	vertical-align: middle;
 | |
| }
 | |
| 
 | |
| .current + .mark {
 | |
| 	border: solid red 5px;
 | |
| }
 | |
| 
 | |
| .mark.blue,
 | |
| .mark.red,
 | |
| .mark.yellow {
 | |
| 	width: 25px;
 | |
| 	margin-left: -25px;
 | |
| 	border: none;
 | |
| }
 | |
| .mark.blue:after,
 | |
| .mark.red:after,
 | |
| .mark.yellow:after {
 | |
| 	display: block;
 | |
| 	position: absolute;
 | |
| 	content: "";
 | |
| 	font-size: 0pt;
 | |
| 	border: none;
 | |
| 
 | |
| 	width: 15px;
 | |
| 	height: 15px;
 | |
| 
 | |
| 	top: auto;
 | |
| 	bottom: 10px;
 | |
| 	left: auto;
 | |
| 	right: 10px;
 | |
| 
 | |
| 	border-radius: 50%;
 | |
| }
 | |
| .mark.blue:after {
 | |
| 	background: blue;
 | |
| }
 | |
| .mark.red {
 | |
| 	left: -17px;
 | |
| 	width: 25px;
 | |
| }
 | |
| .mark.red:after {
 | |
| 	background: red;
 | |
| }
 | |
| .mark.yellow {
 | |
| 	left: -34px;
 | |
| 	width: 25px;
 | |
| }
 | |
| .mark.yellow:after {
 | |
| 	background: yellow;
 | |
| }
 | |
| 
 | |
| </style>
 | |
| <script src="jquery.js"></script>
 | |
| 
 | |
| <body>
 | |
| 	The current structure...
 | |
| 	<div>
 | |
| 		<div class="image" style="background-image: url(image.jpg)"></div>
 | |
| 		<div class="current image" style="background-image: url(image.jpg)"></div>
 | |
| 	</div>
 | |
| 
 | |
| 	<hr>
 | |
| 
 | |
| 	Image bg transparent while the ribbon's bg is black...<br>
 | |
| 	<div class="ribbon">
 | |
| 		<div class="image2" style="background-image: url(image.jpg)"></div>
 | |
| 		<div class="current image2" style="background-image: url(image.jpg)"></div>
 | |
| 	</div>
 | |
| 
 | |
| 	<hr>
 | |
| 
 | |
| 	Add a seporate bg tag<br>
 | |
| 	- this effectively doubles the number of tags used for a ribbon...<br>
 | |
| 	+ the only API that needs changing is what deals with previews and filters<br>
 | |
| 	+ will simplify different image indicator CSS<br>
 | |
| 	<s>+ will remove LOTS of code dealing with scaling, sizing and rotation...</s> this will not change!<br>
 | |
| 	<div class="ribbon">
 | |
| 		<div class="image3"><div style="background-image: url(image.jpg)"></div></div>
 | |
| 		<div class="current image3"><div style="background-image: url(image.jpg)"></div></div>
 | |
| 	</div>
 | |
| 	<br>
 | |
| 	<!-- XXX this shows that we will still need margin-patching and resizing when rotating...
 | |
| 	<div class="image3" style="width: 400px;"><div style="background-image: url(image.jpg)"></div></div><br>
 | |
| 	<div class="image3" style="width: 400px;"><div style="background-image: url(image.jpg); -webkit-transform: rotate(90deg)"></div></div-->
 | |
| 
 | |
| 	<hr>
 | |
| 
 | |
| 	Keep the images on one level and marks outside, after the image...<br>
 | |
| 	<div class="ribbon">
 | |
| 		<div id="0" class="image2" style="background-image: url(image.jpg)"></div>
 | |
| 		<div class="mark red"></div>
 | |
| 
 | |
| 		<div id="1" class="current image2" style="background-image: url(image.jpg)"></div>
 | |
| 		<div class="mark"></div>
 | |
| 		<div class="mark blue"></div>
 | |
| 		<div class="mark red"></div>
 | |
| 		<div class="mark yellow"></div>
 | |
| 	</div>
 | |
| 
 | |
| </body>
 | |
| </html>
 |