Reputation: 11055
The <p>
is the default root element of content in most of WYSIWYG editors (I use tinymce) where <p>
can not contain a block element according to this . When my content is only a single table there is a difference between page source and the rendered elements:
Source of page:
<div class="generalbox">
<p>
<table><tr><td>something</td></tr><table>
</p>
</div>
inspected Element (in both Chrome and Mozila Firefox):
<p></p>
<div class="generalbox">
<table><tr><td>something</td></tr><table>
</div>
<p></p>
This causes a white gap before and after the content. I used the following css rule to omit the gap effect but obviously no success:
.generalbox p:first-of-type {
margin-top:0;
}
.generalbox p:last-of-type {
margin-bottom:0;
}
How should I remove the gap effect? CSS or a server side code or something is WYSIWYG?
Upvotes: 0
Views: 844
Reputation: 11000
Use :empty
selector to target those WYSIWYG's empty p
elements:
p:empty {
margin: 0;
}
You can also combine with :not()
to select not empty p
elements:
p:not(:empty) { }
Upvotes: 1
Reputation: 1318
TinyMCE has an available plugin that allows you to edit the code of your output. Is that option available to you? If not, try this:
.generalbox {
margin-top: -10px;
}
.generalbox + p {
margin-bottom:0;
}
Upvotes: 0