]> git.lyx.org Git - lyx.git/blobdiff - src/Layout.cpp
Fix bug #6997
[lyx.git] / src / Layout.cpp
index 9a75637331dfb1c609785dd63650607ce9ff47aa..fd4709e35659bf8927e4974b014f3efc588b5a14 100644 (file)
@@ -957,8 +957,13 @@ string const & Layout::htmlitemattr() const
 
 string const & Layout::htmllabeltag() const 
 { 
-       if (htmllabeltag_.empty())
-               htmllabeltag_ = "span";
+       if (htmllabeltag_.empty()) {
+               if (labeltype != LABEL_TOP_ENVIRONMENT &&
+                   labeltype != LABEL_CENTERED_TOP_ENVIRONMENT)
+                       htmllabeltag_ = "span";
+               else
+                       htmllabeltag_ = "div";
+       }
        return htmllabeltag_; 
 }
 
@@ -1005,9 +1010,9 @@ string Layout::defaultCSSClass() const
 
 
 namespace {
-       string makeMarginValue(double d) {
+       string makeMarginValue(char const * side, double d) {
                ostringstream os;
-               os << d << "ex";
+               os << "margin-" << side << ": " << d << "ex;\n";
                return os.str();
        }
 }
@@ -1022,12 +1027,23 @@ void Layout::makeDefaultCSS() const {
        // main font
        htmldefaultstyle_ = font.asCSS();
        
-       // top and bottom margins
+       // bottom margins
        string tmp;
        if (topsep > 0)
-               tmp += "margin-top: " + makeMarginValue(topsep) + ";\n";
+               tmp += makeMarginValue("top", topsep);
        if (bottomsep > 0)
-               tmp += "margin-bottom: " + makeMarginValue(bottomsep) + ";\n";
+               tmp += makeMarginValue("bottom", bottomsep);
+       if (!leftmargin.empty()) {
+               // we can't really do what LyX does with the margin, so 
+               // we'll just figure out how many characters it is
+               int const len = leftmargin.length();
+               tmp += makeMarginValue("left", len);
+       }
+       if (!rightmargin.empty()) {
+               int const len = rightmargin.length();
+               tmp += makeMarginValue("right", len);
+       }
+               
        if (!tmp.empty()) {
                if (!htmldefaultstyle_.empty())
                        htmldefaultstyle_ += from_ascii("\n");