проблемы размещения слоев CSS с заголовком и таблицей - PullRequest
0 голосов
/ 23 апреля 2009

У меня проблемы с организацией предметов с помощью CSS ниже.

Одна из наиболее очевидных проблем, с которыми я сталкиваюсь, заключается в том, что сильный текст для заголовков столбцов таблицы черный и не соответствует сильному тексту в информации над таблицей.

Моя главная проблема заключается в том, что Layer3 не перейдет на дно Layer2. Я хочу, чтобы он был ниже столбцов информации, однако в данный момент h1 из layer3 появляется рядом с изображением правого слоя.

Как заставить слой 3 остаться в нижней части слоя 2?

Как лучше организовать информацию в столбцы, в отличие от моего нынешнего подхода к левому слою, левому слою2 и правому слою?

<html><head><title>Auctions</title>

<link rel="stylesheet" href="stylesheet.css" type="text/css">
</head>
<body>
<div id="Layer0">
<div id="Layer2">
<h1>Org."EdHardy"Herren"Hoodie"Gelb"Gr."XL"</h1>
<div id="leftlayer" class="leftlayer">
<p><strong>Username: </strong>trend-mode-2008
</p>
<p><strong>Article Number: </strong>250405322811
</p>
<p><strong>Subtitle: </strong>Original Neu Kollekt
</p>
<p><strong>Auction Start: </strong>11.4.2009
16:46:29 </p>
<p><strong>Auction End: </strong>21.4.2009 16:46:29
</p>
<p><strong>Auction Type: </strong>Buy Now
</p>
<p><strong>Category: </strong>Jacken
</p>
</div>
<div class="leftlayer2">
<p><strong>Condition: </strong> New
</p>
<p><strong>Total Items: </strong> 6
</p>
<p><strong>Total Sales: </strong> 1
</p>
<p><strong>Start Price: &#8364;</strong> 0.00
</p>
<p><strong>Buyitnow Price: &#8364;</strong> 89.00
</p>
<p><strong>Bids: </strong> 1 </p>
<p><strong>Revised: </strong> No
</p>
</div>
<div class="leftlayer2">
<p><strong>Private: </strong> No
</p>
<p><strong>Finished: </strong> No
</p>
<p><strong>Cancelled: </strong> No
</p>
<p><strong>Paypal: </strong> No
</p>
<p><strong>Country: </strong> Germany
</p>
<p><strong>Location: </strong> Herne
</p>
<p><strong>Shipping to: </strong> Germany</p>
<form name="categoryForm">
<p><input name="radiobutton" value="fakeapproved" type="radio">Fake (Approved)</p>
<p><input name="radiobutton" value="fakesuspected" type="radio">Fake (Suspected)</p>
<p><input name="radiobutton" value="keyword" type="radio">Forbidden Keywords</p>
<p><input name="radiobutton" value="parallelimport" type="radio">Parallel Imports
<input name="Submit" value="Update" onclick="handleClick('250405322811', 'Hardy', '1', '250405325721', 'trend-mode-2008');return false" type="submit"></p>
</form>
</div>
<div id="rightlayer"><a href="#" onclick="makewindows(&amp;amp;quot;&lt;img src='..\/images\/250405322811.jpg' &gt;&amp;amp;quot;); return false;">
<img src="../images/250405322811.jpg" height="100" width="100"></a>
<p><a href="#" onclick="makewindows(&amp&lt;quot;); return false;">Click
for full description </a></p>
<p><a href="#" onclick="deleteRec('250405322811', 'Hardy', '1', '250405325721')">DELETE</a>
</p>
</div>
<div id="Layer3">
<h1>Hardy Auctions</h1>
<table border="0" width="85%">
<tbody>
<tr>
<td width="15%"><strong>Seller ID</strong></td>
<td width="10%"><strong>Start Date</strong></td>
<td width="65%"><strong>&gt;Description</strong></td>
<td width="10%"><strong>Category</strong></td>
</tr>
<tr id="article_250405322811">
<td><a href="#" onclick="updateByUser('trend-mode-2008','')">trend-mode-2008</a></td>
<td><a href="#" onclick="updateByPk('Layer2', '250405322811', 'Hardy', '1')">11
04 2009</a></td>
<td><a href="#" onclick="updateByPk('Layer2', '250405322811', 'Hardy', '1')">Org."EdHardy"Herren"Hoodie"Gelb"Gr."XL"</a></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<div id="tablefooter" class="tablefooter">
<div id="tablefooterleft" class="tablefooterleft"><a href="#" onclick="updateByPage('Layer3', 'Hardy', '1')">&lt;&lt;-First
</a><a href="#" onclick="updateByPage('Layer3', 'Hardy', '1')">&lt;-Previous</a>-----------------------------------------------------------------<a href="#" onclick="updateByPage('Layer3', 'Hardy', '2')">
Next -&gt; </a><a href="#" onclick="updateByPage('Layer3', 'Hardy', '7')"> Last
-&gt;&gt;</a></div>
</div>
</div>
</div>
</body></html>

и CSS:

#Layer0 {
  width: 100%;
  height: 100%;
}

body{
margin:10px 10px 0px 10px;
padding:0px;
color:#999999;
font-family:"Trebuchet MS",arial,sans-serif;
font-size:70.5%;

}

#Layer2 {
background:#fff;
color:#000;
voice-family: "\"}\"";
voice-family: inherit;
padding:20px;

}

#Layer2 p {color:#888;}

#Layer2 a, a:link { color:#006633; text-decoration: none;}

#Layer2 a:hover, a:active{ color:#FF6666; text-decoration: none;}

html>body #Layer2 {
}

p,h1,pre {
margin:0px 10px 10px 10px;
font:Arial, Helvetica, sans-serif;
font-size:12px;
line-height: 1.6em;
text-align:justify;
text-decoration:none;
}

h1 {
font-size:2.5em;
text-align: center;
color:#ccc;
padding-top:15px;

}

h3 {
font-size:14px;
color:#999;

}

.leftlayer {
  float: left;
  left: 20%;
  width: 20%;
  height: 100%;
  margin-right: 10%;
}
.leftlayer strong {
  text-align: left;
}
.leftlayer2 {
  float: left;
  width: 20%;
  height: 100%;
  margin-left: 2%;
}
#rightlayer {
  float: left;
}
#Layer3 {
  float: bottom;
}

Ответы [ 3 ]

3 голосов
/ 23 апреля 2009

Правило float: bottom; не является действительным. Есть три допустимых значения для числа с плавающей запятой. Они слева, справа и нет. Если вы хотите, чтобы этот div обернулся, вы должны установить его, чтобы очистить предыдущий div, изменив float: bottom; очистить: оба; или очистить: слева;

2 голосов
/ 23 апреля 2009

Это хороший объем кода, который мне пришлось прочитать. Позвольте мне начать с пары замечаний:

  • Прежде всего, стиль кодирования немного старомоден:
    • использование несемантических идентификаторов, таких как leftsomething, не является оптимальным в долгосрочной перспективе
    • ссылки без правильной цели также не являются семантическими
    • свойство onclick должно быть заменено сгенерированными JavaScript обработчиками событий
  • как Дейв уже указал , свойство CSS 'float' не может быть установлено на 'bottom', вместо этого вы должны использовать 'clear'
  • не определять свойства стиля в вашем HTML-коде, такие как граница таблицы и ширина ячейки

Чтобы создать макет страницы, вы можете обратиться к htmldog, есть хороший учебник . Измените имена слоев на более значимые, такие как #article, #price, #status, чтобы не перепутать при перепроектировании.

Вы также должны поставить CSS Reset Эрика Мейера в верхней части таблицы стилей, чтобы браузер по вашему выбору не настраивал поля, отступы и шрифты.

И не забывайте ставить метки рядом с вашими переключателями, так что это будет более легкой целью для пользователя: нажатие на соответствующую метку похоже на нажатие самой кнопки. Это немного сложно, потому что вам нужны уникальные идентификаторы для выбора, в то время как вам нужно использовать одно и то же имя, потому что имя используется на стороне сервера, а идентификатор используется тегом метки в качестве ловушки. Вы можете создавать уникальные имена, например, комбинируя имя и значение заданного ввода, например:

<p><input name="radiobutton" value="fakeapproved" type="radio" id="radiobutton_fakeapproved"><label for="radiobutton_fakeapproved">Fake (Approved)</label></p>

<p><input name="radiobutton" value="fakesuspected" type="radio" id="radiobutton_fakesuspected"><label for="radiobutton_fakesuspected">Fake (Suspected)</label></p>

0 голосов
/ 23 апреля 2009

У вас более одной проверки CSS проблема:

15   #Layer2     Value Error : voice-family Parse Error :"\"
18   \"  Parse Error \""; voice-family:inherit;
21       Parse Error :20px; } #Layer2 p
36   p, h1, pre  Value Error : font Arial is not a font-size value : Arial,Helvetica,sans-serif
72   #Layer3     Value Error : float bottom is not a float value : bottom

Нет способа узнать, является ли это причиной вашей конкретной проблемы, пока вы не исправите ее. Я также рекомендую избавиться от как можно большего количества посторонних файлов, чтобы свести вашу проблему к ее простейшей форме, прежде чем обращаться за помощью. В противном случае такие люди, как я, должны читать кучу бесполезных шрифтов и голосовых CSS, которые не имеют ничего общего с позиционированием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...