Jump to content
  • 0

как сделать border-top только для верхнего края


Nailya
 Share

Question

12 answers to this question

Recommended Posts

  • 0

Всем добрый день!

Я сделала разделитель по низу за счет border-bottom, но не знаю как сделать для первого элемента border-top?

Вы бы хоть кусочек кода вырезали..О каком разделителе, и тем более первом элементе, идет вообще речь. А если несколько ближе к теме, то вам видимо поможет :first-child.

Link to comment
Share on other sites

  • 0

Вот код, правда с элементами php, я сделала border-top за счет дополнительного div'a с классом .border_top за пределами цикла


echo "<div class='border_top'></div>";
for($j=0; $j<$rows; $j++){
$row = mysql_fetch_row($result1);
echo "<div id='result'><span class='comment_author'>";
echo htmlspecialchars(mysql_result($result1,$j,'comment_author'))."<br/>";
echo "</span>";
echo htmlspecialchars(mysql_result($result1,$j,'comment'))."<br/>";
echo mysql_result($result1,$j,'comment_date');
echo '  ';
echo mysql_result($result1,$j,'comment_time')."<br/>";
echo "</div>";


#result{
width:400px;
background:#fff;
border-bottom:1px solid #d0d3d9;
}
.border_top{
width:400px;
border-top:1px solid #d0d3d9;
}

извините, что так неясно изложила

я создала поле для комментария, как только пользователь написал комментарий, он появляется сразу под полем....и вот эти комментарии мне нужно было как-то разделить снизу border'ом, а в самом первом комментарии border сверху

Link to comment
Share on other sites

  • 0

На мой взгляд это решается как я указывал ранее, через :first-child :


#result:first-child{
border-top: 1px solid #d0d3d9;
}

Одно только непонятно. В цикле создается n-ное кол-во div'ов с одним и тем же id. А для этого используют классы.

Edited by Vulner
Link to comment
Share on other sites

  • 0

id - ваш косяк, они должны быть уникальны, но о другом - попробуйте поставить в вашем теге с классом border-top либо пробел, либо неразрывный пробел, некотрые браузеры пустые теги не учитывают. Либо в стилях прописывайте ему ширину высоту и т д

вместо ID result, лучше пропишите class результ. Все равно к ним можно будет обращаться, либо " id = 'result_".$j." ' "

Edited by Николя223
Link to comment
Share on other sites

  • 0

да с id="result" - это косяк, я сделала его классом, хотя работает. По поводу класса .border-top: хоть я и сделала этот вариант, но не учла того, что если нет ни одного комментария этот border-top останется

first-child тоже не сработал


.result:first-child{
width:400px;
border-top:1px solid #d0d3d9;
}

Link to comment
Share on other sites

  • 0

такой вариант не подходит: <div class="border_top"></div> этот вариант хорош для статичного текста, а у меня комменты в цикле,

то есть они появляются/исчезают, если я этот div с классом border_top вставляю за пределы цикла(как это видно выше в коде - перед словом for), то он всегда будет виден, а мне нужно, чтобы он исчезал вместе с первым

комментарием, если я ставлю этот <div class="border_top"></div> внутри цикла, то он утолщает разделитель второго комментария

Link to comment
Share on other sites

  • 0

а переменные и условия вы делать не умеете? )))

CSS


.border_top{
border-top: 1px dashed red;
}

PHP


for($j=0; $j<$rows; $j++){
if ($j == 0 ){
$border_top = "class='border_top'";
}else{
$border_top = "";
}
$row = mysql_fetch_row($result1);

echo "<div ".$border_top."><span class='comment_author'>";
echo htmlspecialchars(mysql_result($result1,$j,'comment_author'))."<br/>";
echo "</span>";
echo htmlspecialchars(mysql_result($result1,$j,'comment'))."<br/>";
echo mysql_result($result1,$j,'comment_date');
echo '  ';
echo mysql_result($result1,$j,'comment_time')."<br/>";
echo "</div>";

//закрывающая скобка пропущенна

я правильно вас понял?

А вообще вместо кучи echo лучше использовать конкатенацию(точку) и переносите строку

Или echo <<<HERE, но тогда некотрые редакторы в этом месте код не подсвечивают(я использую его, когда проблемма с нехваткой ковычек возникает)

Edited by Николя223
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy