Vertical-align of header with link in table - html

My code:
<table style="text-align: center; width: 100%;" border="2" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: middle; width: 33%;" bgcolor="#27ae60"><h2>O mnie</h2>
</td>
<td style="vertical-align: middle; width: 33%;" bgcolor="#27ae60"><h2>Inne Produkty</h2>
</td>
<td style="vertical-align: middle; width: 33%;" bgcolor="#27ae60"><h2>Komentarze</h2>
</td>
</tr>
</tbody>
</table>
Edit: Original question has been interpreted as:
I want the text (link) of the first column to be in the middle, just as next two are but with having <a href"#"...></a> within <h2>. Because the place where I want to put it doesn't support doing it in the opposite way. Meaning, h2 cannot be placed within <a> tags.
OP wants the first link to be vertically aligned when having the h2 tag within the a tag
(original text below)
I want the text(link) of first column to be in the middle, just as two next are but with havinh within cause place where I want to put it doesn't support doing it opposite way.

I think now I understand what you want (thanks to Wes Foster):
Make your h2 element an inline-block by adding the following style attribute to it: <h2 style="inline-block;">
<table style="text-align: center; width: 100%;" border="2" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: middle; width: 33%;" bgcolor="#27ae60"><h2 style="inline-block;">O mnie</h2>
</td>
<td style="vertical-align: middle; width: 33%;" bgcolor="#27ae60"><h2>Inne Produkty</h2>
</td>
<td style="vertical-align: middle; width: 33%;" bgcolor="#27ae60"><h2>Komentarze</h2>
</td>
</tr>
</tbody>
</table>

Related

HTML Table Formatting Aligning Image in Column 1 With Text in Column 2

I am working on updating a table in a Pardot email template. I am trying to align an image in column 1 with the first line of text in column 2. Meaning, for this master template, when users go in the first line text will remain in alignment with the image and additional lines of text can be added below in column 2- currently when lines are added the first line of text is bumped up higher in the cell and is no longer in alignment with the image in column 1.
<tr pardot-repeatable="" style="">
<td align="center" style="padding:20px 0">
<table border="0" cellpadding="0" cellspacing="0" class="hund" width="90%">
<tbody>
<tr pardot-repeatable="" style="">
<td align="center" class="rePad" pardot-region="" style="text-align:left; color:#333333; font-family:Calibri,Arial,sans-serif; font-size:16px; line-height:21px; padding:20px 0"><table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="width: 87px; height: 113px;"><span style="font-family:arial,helvetica,sans-serif;"><img alt="" border="0" height="75" src="https://mma.marshmma.com/l/644133/2019-08-28/hslnh/644133/69036/Icons_TrainingsHead_emerald.jpg" style="width: 75px; height: 75px; border-width: 0px; border-style: solid;" width="75"></span></td>
<td style="width: 424px; height: 113px;"><span style="text-align:left;font-family:arial,helvetica,sans-serif;"><b>Title</b></span><br>
Content</td>
</tr>
<tr>
<td style="width: 87px; height: 107px;"><span style="font-family:arial,helvetica,sans-serif;"> <img align="left" alt="" border="0" height="75" src="https://mma.marshmma.com/l/644133/2019-08-28/hsmhk/644133/69076/D_I_icons_Committees.jpg" style="width: 75px; height: 75px; float: left; border-width: 0px; border-style: solid;" width="75"></span></td>
<td style="width: 424px; height: 107px;"><span style="font-family:arial,helvetica,sans-serif;"><b>Title</b></span><br>
<span style="font-family:arial,helvetica,sans-serif;">Content</span></td>
</tr>
<tr>
<td style="width: 87px; height: 107px;"><span style="font-family:arial,helvetica,sans-serif;"><img alt="" border="0" height="75" src="https://mma.marshmma.com/l/644133/2019-08-28/hslnf/644133/69034/Icons_handshake_Amethyst.jpg" style="width: 75px; height: 75px; border-width: 0px; border-style: solid;" width="75"></span></td>
<td style="width: 424px; height: 107px;"><span style="font-family:arial,helvetica,sans-serif;"><b>Title</b><br>
Content</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
i think i have a understanding of what you are trying to say, so in order to place text below, there are currently two ways that i see it. either place the text in div tag such as
<th>
<td>
<img src="https://mma.marshmma.com/l/644133/2019-08-28/hslnh/644133/69036/Icons_TrainingsHead_emerald.jpg" width="50"></td>
<td>Test Test Title content</td>
</th>
<div>Test im placing text below</div>
or another method of placing text below is by using a paragraph tag such as
<th>
<td>
<img src="https://mma.marshmma.com/l/644133/2019-08-28/hslnh/644133/69036/Icons_TrainingsHead_emerald.jpg" width="50"></td>
<td>Test Test Title content</td>
</th>
<p> test i have more text below</p>
However it looks like the that the Div tag will be more suited to you as i feel like you will be using this code in the navigation bar

How do I center an image in a table in Outlook

What is the correct inline css to move text or an image center in Outlook. Any time I open it in a browser, it looks great but the bottom image and text always stay left in Outlook. Not sure what else to try. Any help is appreciated
<table cellpadding="0" cellspacing="0" border="0" width="800" align="left">
<table align="left" width="800px;">
<tr width="800px">
<td><img width="800px;" src="images/ArlingtonPic-edited.png"></td>
</tr>
</table>
<table align="left" width="800px;">
<tr width="800px">
<td width="800px" style="font-size:20px; margin-left: auto;
margin-right: auto; text-align: center; vertical-align: middle;">
<strong>Arlington Concrete Floor Boxes</strong></td>
</tr>
</table>
<table align="left" width="800px;">
<tr width="800px">
<td width="350px" style="font-size:16px; padding: -10px 10px 0 10px;">
<p>Our NEW heavy-duty<strong>FLBC4502</strong> 4.5"<strong> concrete floor
box</strong> has more! <strong> <span style="color: red">SIX conduit hubs and FOUR plugs.</span></strong>
And the NEW FLBC4502LR leveling ring makes
installation easier than ever on our FLBC4500
and FLBC4502, and others concrete boxes. <br>
It is <em>REVERSIBLE!</em></p>
</ul>
</td>
<td width="350px" style="font-size:16px; padding: 0 10px;">
<p>The screw holes on SIDE A fit all 4.5" boxes,
and accommodate our 6" round covers,
and most others on the market.
SIDE B features a second set of holes
that fit a cover with a 3-3/8" hole pattern.
These Arlington <strong>cover kits</strong> fit
our concrete boxes. <br>
<em>That is convenience!</em></p>
</td>
</tr>
</table>
<table align="left" width="800px;">
<tr width="800px">
<td width="800px" style="margin-left: auto; margin-
right: auto; text-align: center; vertical-align: middle;">
<img src="images/ArlingtonLogo.png">
</td>
</tr>
</table>
On your table cell use following attributes:
<td valign="middle" align="center">...</td>
for vertical and horizontal align.
This will add image in center in outlook.
<table width="100%">
<tr>
<td align="center">
<img src="https://4de5ad3168da.png" align="middle" width="200" height="130">
</td>
</tr>
</table>

Single cell row with vertically centered image and text?

I tried searching for solutions in stack, but none of the answers I found addressed my issue.
I'm developing an email and I want to have a single cell row that has text with an image in between the text. The cell height is the full height of the image, but I want the text to be vertically centered. The text is now flush on the bottom
Here's my code (there's many inline styles, I apologize in advance). Please note this a single column row that is part of the fluid hybrid approach by Nicole Merlin.
<tr>
<td valign="middle" bgcolor="#e2f4ff" style="padding:0">
<table width="100%" align="center" border="1" style="border-spacing:0;font-family:sans-serif;color:#333333;">
<tr>
<td valign="middle" style="vertical-align: middle !important;;padding:0;text-align:left;padding-bottom: 5px !important;color: #17a0ce;font-weight: bold; Margin:0;font-size:26px; text-align: center;">
THE<img src="http://www.waldenway.com/wp-content/uploads/2015/12/largedog.png" alt="ABC's" /> OF SAFE SLEEP FOR DOGS
</td>
</tr>
</table>
</td>
</tr>
Just vertically align the image.
<table>
<tr>
<td valign="middle" bgcolor="#e2f4ff" style="padding:0">
<table width="100%" align="center" border="1" style="border-spacing:0;font-family:sans-serif;color:#333333;">
<tr>
<td valign="middle" style="vertical-align: middle !important;padding:0;text-align:left;padding-bottom: 5px !important;color: #17a0ce;font-weight: bold; Margin:0;font-size:26px; text-align: center;">
THE
<img style="vertical-align: middle !important;" src="http://www.waldenway.com/wp-content/uploads/2015/12/largedog.png" alt="ABC's" />OF SAFE SLEEP FOR DOGS
</td>
</tr>
</table>
</td>
</tr>
</table>
The best solution that works for all email clients is to push them to consider putting that particular image inline with the other text. That can be done by put the text and the image in many <td> of the same single row <tr>.
This will make you able to define the exact height, width and any other attributes you want of each tag.
Check the following:
<table>
<tr>
<td valign="middle" bgcolor="#e2f4ff" style="padding:0">
<table width="100%" align="center" border="1" style="border-spacing:0;font-family:sans-serif;color:#333333;">
<tr>
<td valign="middle">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="middle" style="vertical-align: middle !important;padding:0;text-align:left;padding-bottom: 5px !important;color: #17a0ce;font-weight: bold; Margin:0;font-size:26px; text-align: center;">
THE
</td>
<td valign="middle" style="vertical-align: middle !important;padding:0;">
<img style="vertical-align: middle !important;" src="http://www.waldenway.com/wp-content/uploads/2015/12/largedog.png" alt="ABC's" />
</td>
<td valign="middle" style="vertical-align: middle !important;padding:0;text-align:left;padding-bottom: 5px !important;color: #17a0ce;font-weight: bold; Margin:0;font-size:26px; text-align: center;"> OF SAFE SLEEP FOR DOGS
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>

How to make TDs inside a table of equal width

I have a following layout. I want all the TDs of equal width and extra space around them.
If I use float:left; over TDs all get equally sized but then vertical-align: middle; stops working.
Is there a way I can do it without using float:left;?
<table class="student_table">
<tr>
<th class="class_box" colspan="4">Batch 2012</th>
</tr>
<tr class="batch_header">
<td> Hi </td> <!--Have to center this-->
<td> Hi </td>
<td> Hi </td>
<td> Hi </td>
</tr>
.batch_header{
width: 245px;
display: inline-block;
}
.batch_header td{
width:30px;
height:30px;
background-color:#EEE;
margin:0px;
padding:2.5px;
border:0px;
<!-- float:left; --> <!-- < equally sized with this but not vertically aligned is not working-->
font-weight: bold;
font-size: smaller;
text-align:center;
vertical-align: middle; <!-- < This is not working-->
}
No CSS needed because you are using tables and tables own sometimes
Here is the table for you
<table>
<tr>
<th colspan="4" align="center" valign="middle" bgcolor="#CCCCCC">Batch 2012</th>
</tr>
<tr>
<td align="center" valign="middle" bgcolor="#666666" style="width:100px; margin-left:10px;margin-right:10px;"> Hi </td>
<td align="center" valign="middle" bgcolor="#666666" style="width:100px; margin-left:10px;margin-right:10px;"> Hi </td>
<td align="center" valign="middle" bgcolor="#666666" style="width:100px; margin-left:10px;margin-right:10px;"> Hi </td>
<td align="center" valign="middle" bgcolor="#666666" style="width:100px; margin-left:10px;margin-right:10px;"> Hi </td>
</tr>
</table>
Here is a updated demo for you
https://jsfiddle.net/1zhdLb55/3/
EDIT
If you now dont want fixed width just delete the width:100px; and it will still give you space on left and right. If you dont want borders just add border:0 cellspacing:0 etc
Add line-height: 1.9; to .batch_header td{}
.batch_header{
width: 140px;
float: left;
}
.batch_header td{
width:30px;
height:25px;
background-color:#EEE;
margin:0px auto;
float:left;
padding:2.5px;
border:0px;
font-weight: bold;
font-size: smaller;
text-align:center;
vertical-align: middle;
line-height: 1.9;
}
<table class="student_table" border = 1>
<tr>
<th class="class_box" colspan="4">Batch 2012</th>
</tr>
<tr class="batch_header">
<td> Hi </td> <!--Have to center this-->
<td> Hi </td>
<td> Hi </td>
<td> Hi </td>
</tr>
</table>
See Demo
using only HTML
<table width="100%">
<tr>
<th colspan="4" align="center" valign="middle">Batch 2012</th>
</tr>
<tr>
<td width="25%" align="center" valign="middle"> Hi </td>
<td width="25%" align="center" valign="middle"> Hi </td>
<td width="25%" align="center" valign="middle"> Hi </td>
<td width="25%" align="center" valign="middle"> Hi </td>
</tr>
</table>
Try adding the style: table-layout:fixed to your table css style (.student_table) and make sure the table has a set width. Remove the float:left and the td width (it will calculate equal width to all cells) and remove the display: inline-block on the <tr> tag.

I want to align the text in a <td> to the top

I have the following code
<table style="height: 275px; width: 188px">
<tr>
<td style="width: 259px;">
main page
</td>
</tr>
</table>
The main page appears in the center of the cell I want it to appear at the top.
https://developer.mozilla.org/en/CSS/vertical-align
<table style="height: 275px; width: 188px">
<tr>
<td style="width: 259px; vertical-align:top">
main page
</td>
</tr>
</table>
?
Add a vertical-align property to the TD, like this:
<td style="width: 259px; vertical-align: top;">
main page
</td>
Use <td valign="top" style="width: 259px"> instead...
I was facing such a problem, look at the picture below
and here is its HTML
<tr class="li1">
<td valign="top">1.</td>
<td colspan="5" valign="top">
<p>How to build e-book learning environment</p>
</td>
</tr>
so I fix it by changing valign Attribute in both td tags to baseline
and it worked
here is the result
hope this help you
you can use valign="top" on the td tag it is working perfectly for me.