Master Pages: Why is all of my content centered?

  • Thread starter Thread starter TheLongshot
  • Start date Start date
T

TheLongshot

I just recently converted a few pages of my application to using master
pages. Problem is, in all of my content pages, the contents are
centered. I can't figure out why. The markup in the content page
seems to ignore any attempts to manually align right. So what's the
deal?
 
TheLongshot said:
I just recently converted a few pages of my application to using master
pages. Problem is, in all of my content pages, the contents are
centered. I can't figure out why. The markup in the content page
seems to ignore any attempts to manually align right. So what's the
deal?

Unfortunately, it's impossible to give you a detailed response without
seeing your code and/or markup. Your best bet is to look at the
rendered HTML or the CSS for your page(s). More than likely you have
something in there that you're not expecting.

At any rate, it's most likely not related to master pages, per se.

Hope that helps,
 
Well, if I do, it is hiding from me. I didn't change any of the
markup, yet on every single page, the content is centered.

The body of my master page:

<body bgcolor="#ececec" leftmargin="0" topmargin="0"
onbeforeunload="javascript: if (bDirty && !IgnoreDirty) return 'You
have not saved your changes.';">
<form id="form1" runat="server">
<uc1:header id="Header1"
runat="server"></uc1:header><uc1:navigation id="Navigation1"
runat="server"></uc1:navigation>
<table width="95%" height="550" border="0" align="center"
cellpadding="0" cellspacing="1" ID="Table8">
<tr>
<td valign = "top">
<asp:contentplaceholder id="cpMain" runat="server" >
</asp:contentplaceholder>
</td>
</tr>
</table>
<uc1:footer id="Footer1" runat="server"></uc1:footer>
</form>
</body>

Just as a note, I did try removing everything from inside the body tag
except for the contentplaceholder and got the same result. There is
nothing in the css file that dictates style for the body tag (or any
tag for that matter).

Part of the default.aspx page:

<%@ Register TagPrefix="uc1" TagName="PageHistory"
Src="Controls/PageHistory.ascx" %>
<%@ Page language="c#" Inherits="T._default" CodeFile="default.aspx.cs"
MasterPageFile="TMaster.master" Title="T"%>
<asp:Content ID="Content1" runat="Server"
ContentPlaceHolderID="cpMain">
<table class="arrowBackground" id="Table11" height="550"
cellSpacing="0" cellPadding="0" Width="100%" bgColor="#ffffff"
border="0">
<tr>
<td width="20%" colSpan="3" style="height: 14px"></td>
</tr>
<tr>
<td vAlign="top" align="center" width="95%">
<asp:loginview runat="server"
id="LoginView1"><LoggedInTemplate>
<!-- BEGIN CONTENT AREA -->
<TABLE id="Table9" height=25
cellSpacing=0 cellPadding=0 width="75%" border=0
background="images/pageTitleTile25.gif">
<TBODY>
<TR>
<TD
align=left><uc1:pagehistory id="PageHistory" runat="server"
Initialize="True" Visible="True" Text="Main"></uc1:pagehistory> </TD>

Removing the "center" align from the td tag above just left alignes the
cell. The content is still centered. Even tho the TD tag for the
pagehistory control is left justified, the pagehistory control is
centered when rendered.

css for "arrowBackround"

..arrowBackground {
background-image: url(images/backgroundArrow.gif);
background-attachment: fixed;
background-repeat: no-repeat;
background-position: center bottom;
}

I'm at a loss.

Jason
 
Maybe this has something to with it......
<table width="95%" height="550" border="0" align="center"

Bob Lehmann

TheLongshot said:
Well, if I do, it is hiding from me. I didn't change any of the
markup, yet on every single page, the content is centered.

The body of my master page:

<body bgcolor="#ececec" leftmargin="0" topmargin="0"
onbeforeunload="javascript: if (bDirty && !IgnoreDirty) return 'You
have not saved your changes.';">
<form id="form1" runat="server">
<uc1:header id="Header1"
runat="server"></uc1:header><uc1:navigation id="Navigation1"
runat="server"></uc1:navigation>
<table width="95%" height="550" border="0" align="center"
cellpadding="0" cellspacing="1" ID="Table8">
<tr>
<td valign = "top">
<asp:contentplaceholder id="cpMain" runat="server" >
</asp:contentplaceholder>
</td>
</tr>
</table>
<uc1:footer id="Footer1" runat="server"></uc1:footer>
</form>
</body>

Just as a note, I did try removing everything from inside the body tag
except for the contentplaceholder and got the same result. There is
nothing in the css file that dictates style for the body tag (or any
tag for that matter).

Part of the default.aspx page:

<%@ Register TagPrefix="uc1" TagName="PageHistory"
Src="Controls/PageHistory.ascx" %>
<%@ Page language="c#" Inherits="T._default" CodeFile="default.aspx.cs"
MasterPageFile="TMaster.master" Title="T"%>
<asp:Content ID="Content1" runat="Server"
ContentPlaceHolderID="cpMain">
<table class="arrowBackground" id="Table11" height="550"
cellSpacing="0" cellPadding="0" Width="100%" bgColor="#ffffff"
border="0">
<tr>
<td width="20%" colSpan="3" style="height: 14px"></td>
</tr>
<tr>
<td vAlign="top" align="center" width="95%">
<asp:loginview runat="server"
id="LoginView1"><LoggedInTemplate>
<!-- BEGIN CONTENT AREA -->
<TABLE id="Table9" height=25
cellSpacing=0 cellPadding=0 width="75%" border=0
background="images/pageTitleTile25.gif">
<TBODY>
<TR>
<TD
align=left><uc1:pagehistory id="PageHistory" runat="server"
Initialize="True" Visible="True" Text="Main"></uc1:pagehistory> </TD>

Removing the "center" align from the td tag above just left alignes the
cell. The content is still centered. Even tho the TD tag for the
pagehistory control is left justified, the pagehistory control is
centered when rendered.

css for "arrowBackround"

.arrowBackground {
background-image: url(images/backgroundArrow.gif);
background-attachment: fixed;
background-repeat: no-repeat;
background-position: center bottom;
}

I'm at a loss.

Jason
 
A MasterPage is essentially just another control, that merges into the Page
that uses it. So if you View Source on your generated pages, you'll be able
to see the markup that is making it "centered". It's all HTML and CSS, all
you need to do is find it and fix it, the Master probably has little to do
with the issue.
Peter
 
Look at this

<td width="20%" colSpan="3" style="height: 14px"></td>
</tr>
<tr>
<td vAlign="top" align="center" width="95%">
<asp:loginview runat="server"
id="LoginView1"><LoggedInTemplate>
<!-- BEGIN CONTENT AREA -->
<TABLE id="Table9" height=25
cellSpacing=0 cellPadding=0 width="75%" border=0


20%+95%+.....{...} = ?

Try to correct %% manually, or resize that part in IDE. Maybe the
problem is here...
 
Ok, I finally found what was causing all of these problems.

At the !DocType directive, I saw this in addition to what I originally
had: "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

Apparently, this is a newer definition of XHTML and totally screwed up
my pages when rendered in IE. I only found out about it because some
labels I had CSS on weren't using height and width. Found out with
the new definition, that width and Height no longer work in SPANs. I
hope Microsoft eventually changes the renders of labels to DIVs
instead of SPANs, or else this will break how some people want to use
a label.

Anyways, everything is back to normal in my application.

Jason
 
Back
Top