Css elements
Every now and then we are facing problems with centering an element in a web page. is it in reality so difficult? it isn't always too tough to center an element. there so many specific methods of doing it.
One issue we need to recognize is that, which method is for which motive. once you apprehend the trouble, picking up the first-class method may be a lot less complicated.
So let us see some situation and speak the first-rate technique to obtain the intention.
1. Horizontally
Inline
factors
// Aligning text in center
.center
{
text-align: center;
}
- Block level elements
We will center a block-degree element with the aid of giving it margin-left and margin-proper of car (which has a known targeted width):
// Aligning an element of defined length in center
// Remember to define the width of the element otherwise it
//will be full width and 'auto' will not work
.center
{
margin: 0 auto;
width: 200px;
}
More than one block level elements
If we've or greater block-degree factors that want to be targeted horizontally in a row, it may be higher served making them a exceptional display kind display: inline-block;
.parent
{
// Aligning the child of this parent in center
text-align: center;
}
.child
{
// set the display of child elements
display: inline-block;
text-align: left;
}
2.Vertically
Inline elements
We are able to without problems middle an inline element inside a block stage element like this:
// Set the display of the parent class as table
.parent
{
display: table;
height: 250px;
background: white;
width: 240px;
margin: 20px;
}
// Set the display of the child class as table-cell
.child
{
display: table-cell;
margin: 0;
background: black;
color: white;
padding: 20px;
border: 10px solid white;
vertical-align: middle;
}
Block level elements of known
height
We can easily center an inline element within a block degree detail like this:
// Set the position of the parent as relaive to other
.parent
{
position: relative;
}
// Set position of child as absolute in its parent class
// so that it can be placed anywhere in the parent class
.child
{
position: absolute;
top: 50%;
height: 100px;
/* responsible for padding and border
if not using box-sizing: border-box; */
margin-top: -50px;
}
Block level elements of unknown height
// Set position of child as absolute in its parent class
.parent
{
position: relative;
}
// Set top of the child 50% of viewport
// Translat the child by 50% of its height about
// negative y axis
.child
{
position: absolute;
top: 50%;
transform: translateY(-50%);
}
3. Both Horizontally & Vertically
Element with fixed
height and width
// Set postion of parent class as relative
.parent
{
position: relative;
}
// Set top and left of an element of
// known height as 50%
.child
{
width: 300px;
height: 100px;
padding: 20px;
position: absolute;
top: 50%;
left: 50%;
margin: -70px 0 0 -170px;
}
Element with
unknown height and width
Whilst we don’t know the width or peak, we can use the remodel assets and a negative translate of fifty parcent in both guidelines to middle:
// Set position of parent as relative to other
.parent
{
position: relative;
}
// Set top and left of an element of
// known height as 50%. Translate the
// element 50% of its height and width
// about negative x-axis and negative y-axis
.child
{
position: absolute;
top: 50%; //
left: 50%;
transform: translate(-50%, -50%);
}
No comments:
Post a Comment