Problem z marginesami pionowych elementów – element nie reaguje po zmianie wartości

0

Cześć. Pracuje nad szablonem do Wordpress'a, tworzonym od podstaw. Pewnie jest to jakaś drobnostka, jednak nie mogę dać sobie z nią rady.

Mianowicie chodzi o marginesy elementów pionowych. Czyli ustawienie górnego i dolnego marginesu poszczególnych elementów znajdujących się w pionie.

W momencie zmiany w CSS marginesu dla poszczególnego elementu, mimo zwiększania wartości, element ten stoi w miejscu, dopiero po przekroczeniu danej wartości, zaczyna reagować.

Wygląda to tak:

.content 
{ margin-top: 0px; } 

po zmianie na:

.content 
{ margin-top: 10px; }

element dalej stoi w miejscu

po zmianie na

.content {
    margin-top: 15px;
}

element dalej stoi w miejscu

po zmianie na

.content {
    margin-top: 20px;
}

dopiero od tej wartości zaczyna reagować

Jest tak praktycznie ze wszystkimi elementami na stronie.
Nie wiem czy to jest kwestia CSS, czy coś jest nie tak w PHP.

CSS dopiero dodaje.

W obszarze "content" zawarte są wpisy.

<div class="content"> 

 	
 <?php while (have_posts()) : the_post(); ?>
 	
 	<article> 
 			<h3 class="post-title"><a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a></h3>
 			<div class="info">
 			<span><?php the_time('d.m.Y'); ?></span>
 			</div>
 			<?php the_post_thumbnail(); ?>
 			<?php the_excerpt(); ?>
 			<a class="more" href="<?php the_permalink(); ?>"> Continue reading </a>
 			<p class="comments"><?php comments_popup_link ('No comments', 'One comment', '% comments'); ?></p>
 	</article>
 	

 
 
 <?php endwhile; ?>
 </div>

Dotyczy to również sekcji <header></header> i wszystkich elementów znajdujących się wewnątrz niej.

<header>

<h1 class="site-title"> <a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"> <?php bloginfo( 'name' ); ?> </a></h1> <h2 class="site-description"> <?php bloginfo( 'description' ); ?></h2>
	
<?php wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); ?>
	
</header>
	

Pewnie jest to jakaś kompletnie podstawowa rzecz. Dopiero zaczynam.
Będę Wam niezmiernie wdzięczny za pomoc.

1

Podejrzewam, że chodzi o "margin collapse"
https://jonathan-harrell.com/whats-the-deal-with-margin-collapse/
"The top margin of an element collapses with the top margin of its first child element".

0

Chyba masz racje.
Dzięki. :)

Pomaga wstawienie do CSS

-webkit-margin-collapse: separate;

Takie rozwiązanie jest w porządku?

0

Jest - w przypadku Google Chrome.
Na innych przeglądarkach nie czyta ustawionych marginesów.

0

Możesz sobie zrobić: border:1px solid transparent;

0

Jest może jeszcze jakiś inny sposób ?
Google chrome i Safari - ok.

Firefox i IE - nie czyta marginesów.

Może overflow: auto; ?

0

Wypróbowałem chyba wszystko, nie działa, szukam cały czas jakiegoś innego rozwiązania.

0

border-top:1px solid transparent; przypisany do kontenera działa na pewno.

1 użytkowników online, w tym zalogowanych: 0, gości: 1