Post class only applying to first excerpt; why?

Try this way

          <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
   <tr>
    <td width="100%" valign="top"> 
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
     <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
     <h2><a href="https://wordpress.stackexchange.com/questions/188003/<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
      <?php the_excerpt(); ?>
      <p><?php the_time('F j, Y'); ?> at <?php the_time('g:i a'); ?> | <?php the_category(', '); ?> | 
      <?php comments_number('No comment', '1 comment', '% comments'); ?></p>
     </div>
     <?php endwhile; else: ?>
     <h2>Oops...</h2>
     <p>Sorry, no posts we're found.</p>
     <?php endif; ?>
     <p align="center"><?php posts_nav_link(); ?></p>
    </td>
   </tr>
  </table>