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.
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:
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_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?