Question: I want to have three images on a row, if the total width of these three images doesn't fit the browser window then all three images should be below each other. So it's "all or nothing", there should never be only two images beside each other and one below (this happens then you gradually decrease browser window width using `float:left;` on all three images)

All this should be centered in the browser window, no matter the size of the window.

I know limited CSS and HTML but am using the following code to get current data centered in the window:

```css
* {
  padding: 0;
  margin: 0;
}

html, body {
  height: 100%; 
}

table {
  vertical-align: middle;
  height: 100%;
  margin: 0 auto;
}
```

```html
<table>
  <tr>
    <td>
      <table width="280" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td>
            "images and text"
          </td>
        </tr>
      </table> 
    </td>
  </tr>
</table>
```

Answer: 
The parent of your `<a>` element is a `td` element, and the `td` element doesn't have a following-sibling - certainly not a following sibling that is a `tr`. If you want the next row in the table, use

```
.//a[@class="..."]/ancestor::tr[1]/following-sibling::tr[1]

```

or

```
.//tr[descendant::a/@class="..."]/following-sibling::tr[1]

```
If you want to select just next `tr` after `<a class="productnamecolor colors_productname">` simply use following two ways :-

* using [`following`](https://developer.mozilla.org/en-US/docs/Web/XPath/Axes/following) axis :

```
(.//a[@class="productnamecolor colors_productname"]/following::tr)[1]

```
* using [`preceding`](https://developer.mozilla.org/en-US/docs/Web/XPath/Axes/preceding)  axis :

```
(.//tr[preceding::a[@class="productnamecolor colors_productname"])[1]

```

Hope it helps...:)