Reputation: 269
I have some text in a container which needs to be in the center of the page - both horizontally and vertically. As I need it to scale down I have set up a JSFiddle here
HTML:
<div class="projectsimageswrap">
<div class="project projectimg1" style="width: 100%; background-color:rgb(127,127,127);">
<div id="thebrief">
<h4>The Brief</h4>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce a quam dapibus, dictum nunc eget, porttitor mauris. Mauris tempor lectus nisi. Vivamus pharetra magna risus. Praesent dignissim maximus libero. Aliquam imperdiet velit eu lacus tristique, vitae mattis dui tempor. Nam varius odio efficitur, mattis ex id, rutrum mi. Vestibulum sollicitudin at tellus non iaculis. Curabitur eu velit lectus. Curabitur molestie turpis vitae arcu ultrices, in porttitor leo posuere. Etiam sed imperdiet risus, id elementum augue. Ut euismod tincidunt eros dapibus iaculis.
Ut eget viverra odio, sed varius augue. Donec eu nisl vitae velit sagittis maximus eu vitae orci. Pellentesque sed nisi congue, luctus ante sit amet, scelerisque nisi. Sed ac ipsum eros. Proin ut arcu ac risus elementum vulputate. Suspendisse tincidunt varius lectus et pulvinar. Mauris vehicula ex diam, vel hendrerit mauris egestas eget. Aenean vulputate, turpis mollis condimentum maximus, sem purus venenatis enim, a luctus eros nulla et ligula. Aliquam porta mauris in fringilla tempor. Fusce a laoreet nibh. Aliquam vehicula eget justo at scelerisque. Integer eget dui eros. Nulla et congue sem.</p>
</div>
</div>
CSS:
.projectsimageswrap {
margin:0 auto;
background-color: rgb(247,200,198);
position: absolute;
top: 100%;
width:100%;
}
.projectsimageswrap .project {
width:50%;
padding-bottom:50%;
margin:0;
float:left;
background:rgb(204,234,236);
position: relative;
}
/*style for the briefs*/
#thebrief{
position: absolute;
margin: auto;
width: 300px;
}
Upvotes: 1
Views: 70
Reputation: 826
You can add the below code.
#thebrief{
position: relative;
margin: auto;
width: 300px;
text-align:center;
}
Upvotes: 1
Reputation: 58422
You can vertically and horizontally center things using these lines of css:
position: absolute;
top:50%;
left:50%;
transform: translate(-50%, -50%);
width: 300px;
Upvotes: 2
Reputation: 1866
The way you did it is very weird. But if you need to center all the content horizontally, you need to add text-align center to #thebrief and to center #thebrief itself. Since you use position:absolute, you need to set left to 50% and translate it on the x axis to -50%. Example :
.projectsimageswrap {
margin: 0 auto;
background-color: rgb(247, 200, 198);
position: absolute;
top: 0;
width: 100%;
height: 100%;
}
.projectsimageswrap .project {
width: 50%;
padding-bottom: 50%;
margin: 0;
float: left;
background: rgb(204, 234, 236);
position: relative;
}
/*style for the briefs*/
#thebrief {
position: absolute;
width: 300px;
left: 50%;
-webkit-transform: translate(-50%, 0);
-moz-transform: translate(-50%, 0);
-ms-transform: translate(-50%, 0);
transform: translate(-50%, 0);
text-align: center;
}
<div class="projectsimageswrap">
<div class="project projectimg1" style="width: 100%; background-color:rgb(127,127,127);">
<div id="thebrief">
<h4>The Brief</h4>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce a quam dapibus, dictum nunc eget, porttitor mauris. Mauris tempor lectus nisi. Vivamus pharetra magna risus. Praesent dignissim maximus libero. Aliquam imperdiet velit eu lacus tristique,
vitae mattis dui tempor. Nam varius odio efficitur, mattis ex id, rutrum mi. Vestibulum sollicitudin at tellus non iaculis. Curabitur eu velit lectus. Curabitur molestie turpis vitae arcu ultrices, in porttitor leo posuere. Etiam sed imperdiet
risus, id elementum augue. Ut euismod tincidunt eros dapibus iaculis. Ut eget viverra odio, sed varius augue. Donec eu nisl vitae velit sagittis maximus eu vitae orci. Pellentesque sed nisi congue, luctus ante sit amet, scelerisque nisi. Sed ac
ipsum eros. Proin ut arcu ac risus elementum vulputate. Suspendisse tincidunt varius lectus et pulvinar. Mauris vehicula ex diam, vel hendrerit mauris egestas eget. Aenean vulputate, turpis mollis condimentum maximus, sem purus venenatis enim,
a luctus eros nulla et ligula. Aliquam porta mauris in fringilla tempor. Fusce a laoreet nibh. Aliquam vehicula eget justo at scelerisque. Integer eget dui eros. Nulla et congue sem.</p>
</div>
</div>
</div>
Upvotes: 0
Reputation: 10037
Just add text-align:center for div class in css file.
In your case add position relative for #thebrief
#thebrief{
position: relative;
margin: auto;
width: 300px;
}
Upvotes: 1