Request your Forrst invite

We’re invite only to ensure that only real developers & designers are able to join.

Step
1
Basic Information

Fill-in some quick information about yourself below. Remember that your invite code will be sent to your email address. So, please use a real one.

I am a…

Are you human?

Step
2
Leave feedback on Zeph Nor’s post

Since Forrst is a very critique- and discussion-oriented community, we ask prospective users to leave sample feedback on a post from one of our members.

Want to see a different post below?
Responsive Design and Images

Hello! I am working with responsive design for the first time. I looked around for existing frameworks and decided to use this: jalxob.com/cool-kitten/

It works well but I have come across an issue. I'll go by example. My first page (at 1366x768 resolution) looks like this:

Hello! I am working with responsive design for the first time. I looked around for existing frameworks and decided to use this: http://www.jalxob.com/cool-kitten/

It works well but I have come across an issue. I'll go by example. My first page (at 1366x768 resolution) looks like this:



The text boxes resize very well as long as I don't manipulate the margins and padding. But I have to because I need to position the images along with the text. However, when I do so and change the resolution or resize the browser, the images don't move along with the text. For example, the website at 1024x768:



Whether I manipulate the margins and padding internally or externally the result is the same.

I haven't used the position property though. I'm not sure how to use that here.

The html for the first page:

<div class="slide" id="slide1" data-slide="1" data-stellar-background-ratio="0.5">
		<div class="container clearfix">

			<div id="content" class="grid_10">
				<img src="images/moon.png" style="margin-left: 25%; margin-top: -10%; " />
				</div>
				
			<div id="textContent" class="grid_5" style="margin-left: 27%;">
			<h1>WHO AM I?</h1>
				<p>LOTS OF TEXT HERE</p>
			</div>
			

		</div>

Grid structure css:

.grid_1 { width: 6.5%; } 
.grid_2 { width: 15%; } 
.grid_3 { width: 23.5%; padding-right:3%;} 
.grid_4 { width: 32%; } 
.grid_5 { width: 40.5%; }
.grid_6 { width: 49%; } 
.grid_7 { width: 57.5%; } 
.grid_8 { width: 66%; } 
.grid_9 { width: 74.5%; } 
.grid_10 { width: 83%; } 
.grid_11 { width: 91.5%; } 
.grid_12 { width: 100%; } 
.grid_13 { width: 99%; padding-left:11%; padding-top: 5%; }


.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12,
.grid_13 {
	margin: 0 2% 1% 0;
	float: left;
	display: block;
}

.alpha{margin-left:0;}
.omega{margin-right:0;}

.container{
	width: 90%; /*width: 1000px;*/
	max-width: 1000px;
	margin: auto;
	
}



.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1}




/* Mobile */
@media screen and (max-width : 480px) {

.text2
.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12,
.grid_13 {
	width:100%;
}

}

Style css affecting slide 1:

body {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 1em;
	color: #8a8683;
	background-color:#141212;
}
img {
	max-width: 100%;
}
a:link {
	color: #b51212;
	text-decoration: none;
}
a:hover {
	color: #f0f0f0;
	text-decoration: none;
}
a:visited {
	color: #b51212;
	text-decoration: none;
}





/* Navigation */

.menu {
	position:fixed;
	top:0px;
	width:100%; 
	height:auto; 
	background-color:#222020;
	z-index:100;
    border-bottom: 2px solid #d41515;
}
#logo {
	text-align: center;
	margin: 5px 0 10px 0;
}
#nav {
	text-align: right;
	margin: 30px 0 0 0;
}
.navigation{
	float: right;
	list-style: none;
	margin: 0;
}
.navigation li{
	float: left;
	padding:0 0 0 50px;
}
.navigation li:hover{
	cursor:pointer;
	color: #f0f0f0;
}

.navigation .active{
	cursor:pointer;
	color: #b41f24;
	font-weight:bold;
}

.navigation li:active{
    cursor:pointer;
	color: #b41f24;
	font-weight:bold;
 }




/* General Slides */ 

.slide{
	background-attachment: fixed;
	width:100%;
	height:auto;
	position: relative;
	padding:140px 0;
}



/* Slide 1 */ 

#slide1{
    background-image:url('../images/clouds.png');    
	background-color:#141212;
}
#slide1 h1 {
    font-family: Kankin, 'Open Sans', sans-serif;
    text-align: center;
	font-size: 2em;
	letter-spacing: 1px;
	line-height: 0px;
	color:#f0f0f0;
	font-weight: 300;
}
#slide1 h2 {
	font-size: 2em;
	color: #f0f0f0;
	line-height: 0px;
	padding-bottom:20px;
	font-weight: 400;
}

p {
    text-align: justify;
    font-family: 'Open Sans', sans-serif;
    color: #f0f0f0;
    font-size: 1em;
}

#textContent {
font-family: 'Open Sans', sans-serif;
color: #f0f0f0;
letter-spacing: 0.025em;
line-height: 1.5em;
margin-left: 25.5%;
margin-top: -15%;
padding: 3.5%;
background: rgb(31,31,31); /* Old browsers */
background: -moz-linear-gradient(top,  rgba(31,31,31,1) 0%, rgba(20,18,18,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(31,31,31,1)), color-stop(100%,rgba(20,18,18,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  rgba(31,31,31,1) 0%,rgba(20,18,18,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  rgba(31,31,31,1) 0%,rgba(20,18,18,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  rgba(31,31,31,1) 0%,rgba(20,18,18,1) 100%); /* IE10+ */
background: linear-gradient(to bottom,  rgba(31,31,31,1) 0%,rgba(20,18,18,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1f1f1f', endColorstr='#141212',GradientType=0 ); /* IE6-9 */
}

My question is, how can I position the images and text such that they stay where they're meant to at all resolutions while still being responsive?

The text boxes resize very well as long as I don't manipulate the margins and padding. But I have to because I need to position the images along with the text. However, when I do so and change the resolution or resize the browser, the images don't move along with the text. For example, the website at 1024x768:

Hello! I am working with responsive design for the first time. I looked around for existing frameworks and decided to use this: http://www.jalxob.com/cool-kitten/

It works well but I have come across an issue. I'll go by example. My first page (at 1366x768 resolution) looks like this:



The text boxes resize very well as long as I don't manipulate the margins and padding. But I have to because I need to position the images along with the text. However, when I do so and change the resolution or resize the browser, the images don't move along with the text. For example, the website at 1024x768:



Whether I manipulate the margins and padding internally or externally the result is the same.

I haven't used the position property though. I'm not sure how to use that here.

The html for the first page:

<div class="slide" id="slide1" data-slide="1" data-stellar-background-ratio="0.5">
		<div class="container clearfix">

			<div id="content" class="grid_10">
				<img src="images/moon.png" style="margin-left: 25%; margin-top: -10%; " />
				</div>
				
			<div id="textContent" class="grid_5" style="margin-left: 27%;">
			<h1>WHO AM I?</h1>
				<p>LOTS OF TEXT HERE</p>
			</div>
			

		</div>

Grid structure css:

.grid_1 { width: 6.5%; } 
.grid_2 { width: 15%; } 
.grid_3 { width: 23.5%; padding-right:3%;} 
.grid_4 { width: 32%; } 
.grid_5 { width: 40.5%; }
.grid_6 { width: 49%; } 
.grid_7 { width: 57.5%; } 
.grid_8 { width: 66%; } 
.grid_9 { width: 74.5%; } 
.grid_10 { width: 83%; } 
.grid_11 { width: 91.5%; } 
.grid_12 { width: 100%; } 
.grid_13 { width: 99%; padding-left:11%; padding-top: 5%; }


.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12,
.grid_13 {
	margin: 0 2% 1% 0;
	float: left;
	display: block;
}

.alpha{margin-left:0;}
.omega{margin-right:0;}

.container{
	width: 90%; /*width: 1000px;*/
	max-width: 1000px;
	margin: auto;
	
}



.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1}




/* Mobile */
@media screen and (max-width : 480px) {

.text2
.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12,
.grid_13 {
	width:100%;
}

}

Style css affecting slide 1:

body {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 1em;
	color: #8a8683;
	background-color:#141212;
}
img {
	max-width: 100%;
}
a:link {
	color: #b51212;
	text-decoration: none;
}
a:hover {
	color: #f0f0f0;
	text-decoration: none;
}
a:visited {
	color: #b51212;
	text-decoration: none;
}





/* Navigation */

.menu {
	position:fixed;
	top:0px;
	width:100%; 
	height:auto; 
	background-color:#222020;
	z-index:100;
    border-bottom: 2px solid #d41515;
}
#logo {
	text-align: center;
	margin: 5px 0 10px 0;
}
#nav {
	text-align: right;
	margin: 30px 0 0 0;
}
.navigation{
	float: right;
	list-style: none;
	margin: 0;
}
.navigation li{
	float: left;
	padding:0 0 0 50px;
}
.navigation li:hover{
	cursor:pointer;
	color: #f0f0f0;
}

.navigation .active{
	cursor:pointer;
	color: #b41f24;
	font-weight:bold;
}

.navigation li:active{
    cursor:pointer;
	color: #b41f24;
	font-weight:bold;
 }




/* General Slides */ 

.slide{
	background-attachment: fixed;
	width:100%;
	height:auto;
	position: relative;
	padding:140px 0;
}



/* Slide 1 */ 

#slide1{
    background-image:url('../images/clouds.png');    
	background-color:#141212;
}
#slide1 h1 {
    font-family: Kankin, 'Open Sans', sans-serif;
    text-align: center;
	font-size: 2em;
	letter-spacing: 1px;
	line-height: 0px;
	color:#f0f0f0;
	font-weight: 300;
}
#slide1 h2 {
	font-size: 2em;
	color: #f0f0f0;
	line-height: 0px;
	padding-bottom:20px;
	font-weight: 400;
}

p {
    text-align: justify;
    font-family: 'Open Sans', sans-serif;
    color: #f0f0f0;
    font-size: 1em;
}

#textContent {
font-family: 'Open Sans', sans-serif;
color: #f0f0f0;
letter-spacing: 0.025em;
line-height: 1.5em;
margin-left: 25.5%;
margin-top: -15%;
padding: 3.5%;
background: rgb(31,31,31); /* Old browsers */
background: -moz-linear-gradient(top,  rgba(31,31,31,1) 0%, rgba(20,18,18,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(31,31,31,1)), color-stop(100%,rgba(20,18,18,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  rgba(31,31,31,1) 0%,rgba(20,18,18,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  rgba(31,31,31,1) 0%,rgba(20,18,18,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  rgba(31,31,31,1) 0%,rgba(20,18,18,1) 100%); /* IE10+ */
background: linear-gradient(to bottom,  rgba(31,31,31,1) 0%,rgba(20,18,18,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1f1f1f', endColorstr='#141212',GradientType=0 ); /* IE6-9 */
}

My question is, how can I position the images and text such that they stay where they're meant to at all resolutions while still being responsive?

Whether I manipulate the margins and padding internally or externally the result is the same.

I haven't used the position property though. I'm not sure how to use that here.

The html for the first page:

<div class="slide" id="slide1" data-slide="1" data-stellar-background-ratio="0.5">
		<div class="container clearfix">

			<div id="content" class="grid_10">
				<img src="images/moon.png" style="margin-left: 25%; margin-top: -10%; " />
				</div>
				
			<div id="textContent" class="grid_5" style="margin-left: 27%;">
			<h1>WHO AM I?</h1>
				<p>LOTS OF TEXT HERE</p>
			</div>
			

		</div>
Raw

Grid structure css:

.grid_1 { width: 6.5%; } 
.grid_2 { width: 15%; } 
.grid_3 { width: 23.5%; padding-right:3%;} 
.grid_4 { width: 32%; } 
.grid_5 { width: 40.5%; }
.grid_6 { width: 49%; } 
.grid_7 { width: 57.5%; } 
.grid_8 { width: 66%; } 
.grid_9 { width: 74.5%; } 
.grid_10 { width: 83%; } 
.grid_11 { width: 91.5%; } 
.grid_12 { width: 100%; } 
.grid_13 { width: 99%; padding-left:11%; padding-top: 5%; }


.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12,
.grid_13 {
	margin: 0 2% 1% 0;
	float: left;
	display: block;
}

.alpha{margin-left:0;}
.omega{margin-right:0;}

.container{
	width: 90%; /*width: 1000px;*/
	max-width: 1000px;
	margin: auto;
	
}



.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1}




/* Mobile */
@media screen and (max-width : 480px) {

.text2
.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12,
.grid_13 {
	width:100%;
}

}
Raw

Style css affecting slide 1:

body {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 1em;
	color: #8a8683;
	background-color:#141212;
}
img {
	max-width: 100%;
}
a:link {
	color: #b51212;
	text-decoration: none;
}
a:hover {
	color: #f0f0f0;
	text-decoration: none;
}
a:visited {
	color: #b51212;
	text-decoration: none;
}





/* Navigation */

.menu {
	position:fixed;
	top:0px;
	width:100%; 
	height:auto; 
	background-color:#222020;
	z-index:100;
    border-bottom: 2px solid #d41515;
}
#logo {
	text-align: center;
	margin: 5px 0 10px 0;
}
#nav {
	text-align: right;
	margin: 30px 0 0 0;
}
.navigation{
	float: right;
	list-style: none;
	margin: 0;
}
.navigation li{
	float: left;
	padding:0 0 0 50px;
}
.navigation li:hover{
	cursor:pointer;
	color: #f0f0f0;
}

.navigation .active{
	cursor:pointer;
	color: #b41f24;
	font-weight:bold;
}

.navigation li:active{
    cursor:pointer;
	color: #b41f24;
	font-weight:bold;
 }




/* General Slides */ 

.slide{
	background-attachment: fixed;
	width:100%;
	height:auto;
	position: relative;
	padding:140px 0;
}



/* Slide 1 */ 

#slide1{
    background-image:url('../images/clouds.png');    
	background-color:#141212;
}
#slide1 h1 {
    font-family: Kankin, 'Open Sans', sans-serif;
    text-align: center;
	font-size: 2em;
	letter-spacing: 1px;
	line-height: 0px;
	color:#f0f0f0;
	font-weight: 300;
}
#slide1 h2 {
	font-size: 2em;
	color: #f0f0f0;
	line-height: 0px;
	padding-bottom:20px;
	font-weight: 400;
}

p {
    text-align: justify;
    font-family: 'Open Sans', sans-serif;
    color: #f0f0f0;
    font-size: 1em;
}

#textContent {
font-family: 'Open Sans', sans-serif;
color: #f0f0f0;
letter-spacing: 0.025em;
line-height: 1.5em;
margin-left: 25.5%;
margin-top: -15%;
padding: 3.5%;
background: rgb(31,31,31); /* Old browsers */
background: -moz-linear-gradient(top,  rgba(31,31,31,1) 0%, rgba(20,18,18,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(31,31,31,1)), color-stop(100%,rgba(20,18,18,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  rgba(31,31,31,1) 0%,rgba(20,18,18,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  rgba(31,31,31,1) 0%,rgba(20,18,18,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  rgba(31,31,31,1) 0%,rgba(20,18,18,1) 100%); /* IE10+ */
background: linear-gradient(to bottom,  rgba(31,31,31,1) 0%,rgba(20,18,18,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1f1f1f', endColorstr='#141212',GradientType=0 ); /* IE6-9 */
}
Raw

My question is, how can I position the images and text such that they stay where they're meant to at all resolutions while still being responsive?

(Markdown is supported.)

3 new notifications