简体   繁体   中英

How to keep the size of images and table's cells relative on browser resizing

I have board game with some image and table.
The display is ok when I am working with Chrome but on other browsers, such IE, or other computer with smaller screen then mine the display is being disrupted.
When I tried to resize my browser I found this problem too.

Before resizing browser to left:
在此输入图像描述

After resizing browser to left:
在此输入图像描述

I found posts on this issue and they suggested to use:

margin-left: 10%;
margin-right: 10%;

to the pictures but it didn't help.

CSS:

td {
    width: 105px;
    height: 90px;
    text-align: left;
    vertical-align: top;
    border: 1px solid black;
    position: relative;
    margin-left: 10%;
    margin-right: 10%;
}
table
{
    position: fixed;
    left:9px;
    top:8px;
}

#dice
{
   right: 230px;
    position:fixed; 
    margin-left: 10%;
    margin-right: 10%;
}

HTML:

<img id="dice" src="Resources/images/dice_5.png" number="5">
<table oncontextmenu="return false">
  <tbody>
    <tr>
     <td class="" cellnumber="1" row="0" col="0"><span>1</span></td>
     <td class="" cellnumber="2" row="0" col="1"><span>2</span></td>
     <td class="" cellnumber="3" row="0" col="2"><span>3</span></td>
     <td class="" cellnumber="4" row="0" col="3"><span>4</span></td>
     <td class="" cellnumber="5" row="0" col="4"><span>5</span></td>
   </tr>
  </tbody>
</table>

You're using position: fixed; which takes the table and img out of the document flow and displays them in the same place on the screen even if you scroll down the page; this means that they are not aware of the space that either of them occupies.

If you don't need the elements to be fixed I would suggest rearranging their order in HTML and floating them instead:

 table { float: left; } td { border: 1px solid black; height: 90px; margin-left: 10%; margin-right: 10%; position: relative; text-align: left; vertical-align: top; width: 105px; } #dice { float: left; } 
 <table oncontextmenu="return false"> <tbody> <tr> <td class="" cellnumber="1" row="0" col="0"><span>1</span></td> <td class="" cellnumber="2" row="0" col="1"><span>2</span></td> <td class="" cellnumber="3" row="0" col="2"><span>3</span></td> <td class="" cellnumber="4" row="0" col="3"><span>4</span></td> <td class="" cellnumber="5" row="0" col="4"><span>5</span></td> </tr> </tbody> </table> <img id="dice" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE4AAABOCAMAAAC5dNAvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+/PkzLcF4AAAAzUExURR8fH7+/vz8/P19fX8/Pzw8PD39/f5+fny8vL6+vr+/v79/f34+Pj29vb09PTwAAAP///0v689cAAAI+SURBVHja7JjXjsQgDEUNpqby/1+7ZDaFlgAB7cNq/DLSyDqhGF/bYHbTqNaXplAfFPj9kQCCDOaVDUQASBengJgmI6AuHEfTbMgPHJemg0n+i1NouhiqDSfBdDJ7H2Bab8G9DwPaXdwwfYKPFh2mpJ+gm674sjAULv6ITGA5GLt8z+0JBHXtVTqRzjM8xh3nYzNEwXqulXkvh49PtJF7zvu3hxXW04X6L/ExfND3pfvfDo6FL/theWPoyyKcCF2me9wU+ooIR29cUhZ9muZx9B5HX+Dme9ycx80tZzdHOH1zW8kgDn11hDNQfHTRyUAcd+HyHl8ZSy7Ow/mnl0kqMnlpHs454Xy+lzxxZz7OjPhx4jjm013KN8BtSYYQVpp+mXX2/ohxTfbFxUGx2Evki+yCY2elplg7ztWsnL7lcb5mPetbAY5W5Jk8bqzQtwLcVJGjC3BLiFuacDX69vc4USHmBTh9o1lv4w7SmvUWR3wcaX2zc2GhUZpRpsIYLs13bK81kfVJn7YptFbQUH6lpx9OL/YVABZ1fQQ330Xf4i7NotmaZ6QJffNwNZqV9nVxvmbBY5gNkNS3tz3ZXN+TPSxveNGTycLK+F/0ZNjUk2HLZjHCyZaeTMZxxys0K9A3ngjjqUKzSLoOWp3Bh396oqI6wDO63bGMe2Eil1FEQi2J8oZGhuzRshT0UWyv1ei1HoH+SMumFS2Kh6ADEUK7iXGD9R249R4Hdh5W9h6l9h709h5D9x6Sdxvh/wgwAOIqZ8jWZlkFAAAAAElFTkSuQmCC" number="5" /> 

JS Fiddle: http://jsfiddle.net/LqwbLwv3/

If it is required to keep them fixed and the table is a set width (which seems to be the case) you can position the img from the left instead, that way it will not attempt to occupy the same space as the table :

 table { left:9px; position: fixed; top:8px; } td { border: 1px solid black; height: 90px; margin-left: 10%; margin-right: 10%; position: relative; text-align: left; vertical-align: top; width: 105px; } #dice { left: 570px; position:fixed; } 
 <img id="dice" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE4AAABOCAMAAAC5dNAvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+/PkzLcF4AAAAzUExURR8fH7+/vz8/P19fX8/Pzw8PD39/f5+fny8vL6+vr+/v79/f34+Pj29vb09PTwAAAP///0v689cAAAI+SURBVHja7JjXjsQgDEUNpqby/1+7ZDaFlgAB7cNq/DLSyDqhGF/bYHbTqNaXplAfFPj9kQCCDOaVDUQASBengJgmI6AuHEfTbMgPHJemg0n+i1NouhiqDSfBdDJ7H2Bab8G9DwPaXdwwfYKPFh2mpJ+gm674sjAULv6ITGA5GLt8z+0JBHXtVTqRzjM8xh3nYzNEwXqulXkvh49PtJF7zvu3hxXW04X6L/ExfND3pfvfDo6FL/theWPoyyKcCF2me9wU+ooIR29cUhZ9muZx9B5HX+Dme9ycx80tZzdHOH1zW8kgDn11hDNQfHTRyUAcd+HyHl8ZSy7Ow/mnl0kqMnlpHs454Xy+lzxxZz7OjPhx4jjm013KN8BtSYYQVpp+mXX2/ohxTfbFxUGx2Evki+yCY2elplg7ztWsnL7lcb5mPetbAY5W5Jk8bqzQtwLcVJGjC3BLiFuacDX69vc4USHmBTh9o1lv4w7SmvUWR3wcaX2zc2GhUZpRpsIYLs13bK81kfVJn7YptFbQUH6lpx9OL/YVABZ1fQQ330Xf4i7NotmaZ6QJffNwNZqV9nVxvmbBY5gNkNS3tz3ZXN+TPSxveNGTycLK+F/0ZNjUk2HLZjHCyZaeTMZxxys0K9A3ngjjqUKzSLoOWp3Bh396oqI6wDO63bGMe2Eil1FEQi2J8oZGhuzRshT0UWyv1ei1HoH+SMumFS2Kh6ADEUK7iXGD9R249R4Hdh5W9h6l9h709h5D9x6Sdxvh/wgwAOIqZ8jWZlkFAAAAAElFTkSuQmCC" number="5" /> <table oncontextmenu="return false"> <tbody> <tr> <td class="" cellnumber="1" row="0" col="0"><span>1</span></td> <td class="" cellnumber="2" row="0" col="1"><span>2</span></td> <td class="" cellnumber="3" row="0" col="2"><span>3</span></td> <td class="" cellnumber="4" row="0" col="3"><span>4</span></td> <td class="" cellnumber="5" row="0" col="4"><span>5</span></td> </tr> </tbody> </table> 

JS Fiddle: http://jsfiddle.net/jw8buh20/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM