Почему этот div/img не будет центрироваться в IE8?

Вы, кажется, хотите этого:

DELETE from tableA
 USING tableB
 WHERE 
   -- ignore rows with IDs that don't exist in tableB
   tableA.ID = tableB.ID
   -- ignore rows that have an exact all-column match in tableB
   AND NOT EXISTS (select * from tableB where tableB.* is not distinct from tableA.*);

is not distinct from немного похож на «равно» (оператор =), за исключением того, что это также верно, когда сравниваемые столбцы равны NULL, тогда как [113 ] является нулем, не соответствует действительности. Это относится, по крайней мере, к вашему столбцу category, который обнуляется в данных выборки.

33
задан Brettski 3 May 2009 в 04:42
поделиться

6 ответов

Вы действительно хотите, чтобы ваша страница работала в режиме причуд? Ваш HTML-центр прекрасно работает, как только я добавил doctype для включения режима стандартов:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>
<title>Welcome</title>
<style>    
    #pageContainer {width:300px;margin:0 auto;text-align:center;}    
    #toLogo{border:none; }
</style>
</head>

<body>

<div id="pageContainer">
    <a href="http://portal.thesit.com" id="toSite">
    <img src="http://stackoverflow.com/content/img/so/logo.png" id="toLogo"></a> </div>

</body>
</html>
70
ответ дан 27 November 2019 в 17:57
поделиться

Поля auto по бокам делителя оставляют браузеру решать, куда он движется. Нет ничего, что говорило бы браузеру, что div должен быть центрирован в теле, или выровнен влево или вправо. Так что это зависит от браузера. Если вы добавите директиву к телу, ваша проблема будет решена.

<html>
  <head>
    <title>Welcome</title>
    <style>
      body { text-align: center;}
      #pageContainer {width:300px; margin:0px auto;
            text-align:center; border:thin 1px solid;}
      #toLogo{border:none; }
    </style>
  </head>
  <body>
    <div id="pageContainer">
      <a href="http://portal.thesit.com" id="toSite">
        <img src="LOGO_DNNsmall.png" id="toLogo">
      </a>
    </div>
  </body>
</html>

Я добавил границу размером 1 пиксель в div, чтобы вы могли видеть более четко происходящее.

Вы оставляете это на усмотрение браузера, потому что это в режиме причуд. Чтобы удалить режим причуд, добавьте определение doctype вверху, например, так:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>
    <title>Welcome</title>
    <style>
      #pageContainer {width:300px; margin:0px auto;
            text-align:center; border:thin 1px solid;}
      #toLogo{border:none; }
    </style>
  </head>
  <body>
    <div id="pageContainer">
      <a href="http://portal.thesit.com" id="toSite">
        <img src="LOGO_DNNsmall.png" id="toLogo">
      </a>
    </div>
  </body>
</html>

Теперь вы сможете увидеть свой Div-центр размером 300 пикселей на странице.

3
ответ дан 27 November 2019 в 17:57
поделиться

Добавить text-align: center в тело. Это следует делать в сочетании с полем : 0 auto на делении.

Вы можете центрировать без использования text-align : center на теле, обернув всю страницу содержимое в контейнере полной ширины, а затем настройте text-align: center на этом.

<html>
<head>
<title>Welcome</title>
<style>
    #container {text-align:center;border:1px solid blue}
    #pageContainer {width:300px; margin:0 auto; border:1px solid red}
    #toLogo{border:none; }
</style>
</head>
<body>
    <div id="container">
        <div id="pageContainer">
        <a href="http://portal.thesit.com" id="toSite"><img src="LOGO_DNNsmall.png" id="toLogo"></a>
        </div>
    </div>
</body>
</html>

(я добавил контейнер div). Это ничего не меняет, хотя ... просто дополнительный div. Вам все еще нужны все те же свойства CSS.

2
ответ дан 27 November 2019 в 17:57
поделиться

Возможно, вы захотите изменить его на следующее:

<html>
<head>
<title>Welcome</title>
<style>
    body { text-align: center; }
    #pageContainer {width:300px;margin:0 auto;}
    #toLogo{border:none; }
</style>
</head>
<body>
    <div id="pageContainer">
    <a href="http://portal.thesit.com" id="toSite"><img src="LOGO_DNNsmall.png" id="toLogo"></a>
    </div>
</body>
</html>

text-align: center; перемещено в тело. Если вы хотите поместить другое выровненное левое содержимое в div #pageContainer , то вам понадобится text-align: left; для этого класса. Это решение, которое я использовал на многих веб-сайтах, похоже, работает во всех браузерах (именно это Dreamweaver использует в своих начальных шаблонах).

0
ответ дан 27 November 2019 в 17:57
поделиться

ДЛЯ ПОЛЬЗОВАТЕЛЕЙ BLUEPRINT Это сводило меня с ума, пока я не нашел этот пост: проблема с ie8 и blueprint Короче говоря, в вашем html-коде измените

 <!--[if IE]>
 <link rel="stylesheet" href="../css/blueprint/ie.css" type="text/css" media="screen, projection" /> 
<![endif]--> 

на

<!--[if lt IE 8]>
<link rel="stylesheet" href="../css/blueprint/ie.css" type="text/css" media="screen, projection" />
<![endif]-->

С уважением Алекс

0
ответ дан 27 November 2019 в 17:57
поделиться

Это работает для меня в IE6,7,8, FF 3.6.3:

    #container
    {
        width:100%;
    }

    #centered
    {
        width:350px;
        margin:0 auto;
    }

и

    <div id="container">
        <div id="centered">content</div>
    </div>

-1
ответ дан 27 November 2019 в 17:57
поделиться