[HTML/CSS] Using CSS to give a table borders and a fixed width/height

I have a huge table (little example attached) that should have a lot of cells all being 100x100px with a 20px border between them.

I trought the <table> tag would be the easyst way to create this, but if it's possible doing by <div> tags thats okay for me too. The page is generated by PHP and sometimes theres a cell thats 220x220px (using 4x100px + border).

See the attached picture, there you can cleary see that my current code does'nt work, how strange...
<html>
<head>
 <title>Map</title>
 <style>
  #map{
   border-collapse: collapse;
   border-top: #000000 20px solid;
   border-right: #000000 20px solid;
   border-bottom: #000000 20px solid;
   border-left: #000000 20px solid;
  }
  td{
   border-top: #000000 20px solid;
   border-right: #000000 20px solid;
   border-bottom: #000000 20px solid;
   border-left: #000000 20px solid;
   width: 100px;
   height: 100px;
   text-align: center;
  }
 </style>
</head>
<body>
<table id="map">
<tr><td>T</td><td>E</td><td>S</td><td>T</td><td>1</td></tr>
<tr><td>T</td><td>E</td><td colspan=2 rowspan=2>S</td><td>2</td></tr>
<tr><td>T</td><td>E</td><td>3</td></tr>
<tr><td>T</td><td>E</td><td>S</td><td>T</td><td>4</td></tr>
</table>
</body>
</html>

Open in new window

wrong.png
LVL 6
JapyDoogeAsked:
Who is Participating?
 
hieloConnect With a Mentor Commented:
See if this is what you want.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
 "http://www.w3.org/TR/REC-html40/loose.dtd">
 
 
<html>
<head>
 <title>Map</title>
<style type="text/css">
<!--
table{background-color:black;}
td{background-color:white;width:100px;height:100px;border-color:black;}
-->
</style>
</head>
<body>
<table id="map" border=1 cellspacing="20" bordercolor="#000000">
<tr><td>Tfsdfsdfsf fd sf fsdfsdafsdfdfafds fsd</td><td>E</td><td>S</td><td>T</td><td>1</td></tr>
<tr><td>T</td><td>E</td><td colspan=2 rowspan=2>S</td><td>2</td></tr>
<tr><td>T</td><td>E</td><td>3</td></tr>
<tr><td>T</td><td>E</td><td>S</td><td>T</td><td>4</td></tr>
</table>
</body>
</html>

Open in new window

0
 
Ali KayahanFull Stack DeveloperCommented:
Whats the problem in here ?
0
 
hieloCommented:
>> sometimes theres a cell thats 220x220px (using 4x100px + border).
If the problem is that "big square", then the reason is because of the rowspan and the colspan. This is the table code you should be generating:
<table id="map">
<tr>
	<td>T</td>
	<td>E</td>
	<td>S</td>
	<td>T</td>
	<td>1</td></tr>
<tr>
	<td>T</td>
	<td>E</td>
	<td>S</td>
	<td>T</td>
	<td>3</td></tr>
<tr>
	<td>T</td>
	<td>E</td>
	<td>S</td>
	<td>T</td>
	<td>3</td></tr>
<tr>
	<td>T</td>
	<td>E</td>
	<td>S</td>
	<td>T</td>
	<td>4</td></tr>
</table>

Open in new window

0
Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

 
JapyDoogeAuthor Commented:
The big square is the good thing, thats the 220x220px cell but, those cell's are'nt 100x100, they are 102x92 or 102x83 or whatever, that's each row completely random. I need the _white space_ in a cell to be exact 100x100px or exact 220x220px for the bigger ones.
0
 
JapyDoogeAuthor Commented:
See for example the 2 and 3 row, those are'nt 100x100, the rest of the rows are neither 100x100 but 2 and 3 are the smallest.
0
 
JapyDoogeAuthor Commented:
Woow, great, thanks! This is exactly what i was looking for!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.