FIxed width column page layout

Posted by Community Admin on 05-Aug-2018 11:03

FIxed width column page layout

All Replies

Posted by Community Admin on 18-Mar-2011 00:00

How can I create a fixed width column page layout using the layout controls ?

I want two columns, a left sidebar with a fixed width 250px and a right content column that expands to fill the remaining width.


Thanks
Euan

Posted by Community Admin on 23-Mar-2011 00:00

Hello Euan,

You can create a custom layout widget with one fixed column and one flexible. Follow the instructions from the screenshot to add the widget. There is a bug that the first time you drop the custom widget you cannot drop content widgets right away. You have to refresh the page first. This bug is logged and will soon be fixed.

You can use the template from below:

<%@ Control Language="C#" %>
<%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI" TagPrefix="sitefinity" %>
  
<div runat="server" class="sf_cols">
    <div runat="server" class="sf_colsOut sf_fixed250">
        <div runat="server" class="sf_colsIn sf_2cols_1in">
              
        </div>
    </div>
    <div runat="server" class="sf_colsOut sf_auto">
        <div runat="server" class="sf_colsIn sf_2cols_2in">
          
        </div>
    </div>
</div>

After you have added the widget, add the CSS from below to your theme:
.sf_fixed250
float: left; width: 200px; 
.sf_auto
float: none; 
.sf_auto .sf_2cols_2in
margin: 0 0 0 200px; padding: 0; 

Thank should do the trick. Let us know if you need further help.


Kind regards,
Katia
the Telerik team

Posted by Community Admin on 24-Mar-2011 00:00

One thing I noticed while implementing this.

If you drag several of these custom layout controls onto a page and then click edit while in layout mode, to say, apply a custom wrapper class, it will modify the percentages of the column widths and override any CSS you have.

The way I have found around this is to just apply your custom wrapper classes in the controls in Visual Studio, but that is kind of inconvenient because you have to then create a custom layout control for every situation.

Posted by Community Admin on 30-Mar-2011 00:00

Hello,

We will think of a way to prevent the width modification when a layout widget is edited. In the meantime, you can override the width with important rules in your theme like shown below.

.sf_fixed250 
 
width: 250px !important;  
 
.sf_auto 
 
width: auto !important;
 

All the best,
Katia
the Telerik team

Posted by Community Admin on 23-Jan-2013 00:00

We're having the same kind of problem which involves Responsive Design. We have a three column layout where the width of the left column is wider than the middle and right column. The widths are all specified in the css as 

.LeftContent width: 468px !important; float: left;

.MiddleContent, .RightContent 227px !important; float: left;

The main problem we're having is that when responsive design is expected to take effect it doesn't work anymore. Also what we've noticed is that when float:left is not included in the css the columns don't line up side-by-side compared to when the layout was initially dragged to the placeholder.

Posted by Community Admin on 23-Jan-2013 00:00

We found a solution a to the Responsive Design issue. These are our css classes:

.SiteContent .SiteInnerContent .sf_3cols_1_33 width: 468px; float: left; margin-right: 13px;
.SiteContent .SiteInnerContent .sf_3cols_2_34 width: 227px; float: left; margin-right: 12px;  
.SiteContent .SiteInnerContent .sf_3cols_3_33 width: 227px; float:left;

.SiteContent .SiteInnerContent .LeftContent

.SiteContent .SiteInnerContent .MiddleContent

.SiteContent .SiteInnerContent .RightContent


And then we added the LeftContent, MiddelContent, and RightContent to their respective fields in the Edit Properties Class of the layout in the template design screen.

Example:  "sf_3cols_1_33 LeftContent"

Posted by Community Admin on 01-May-2013 00:00

Hi Katia,
Did you find away to disable the automatic generation of inline widths on the page layouts?  Using the important tag will work but once you start building responsive sites, you now need to override your previous important tags. It's not ideal.

Thanks,
Matt

Posted by Community Admin on 19-Jun-2013 00:00

I am running into the in-line width problem as well.

In theory, you may be able to add 100% layouts to fix this problem. By adding a 100% layout inside your custom layout you would be able to apply a class without editing the custom layout. You could apply a wrapper by adding putting your custom layer within a 100% layout.

This might cause some additional issues with responsive design, but I don't think it would. The biggest issue for me is that by nesting layouts i this way you could easily end up with nine layers of divs for just a couple of content boxes. The layout on the template page would also look like a complete mess. For me, these two drawbacks make it most likely an unusable solution, but it may work for somebody.

Posted by Community Admin on 19-Jun-2013 00:00

I am running into the in-line width problem as well.

In theory, you may be able to add 100% layouts to fix this problem. By adding a 100% layout inside your custom layout you would be able to apply a class without editing the custom layout. You could apply a wrapper by adding putting your custom layer within a 100% layout.

This could cause some additional issues with responsive design. The biggest issue for me is that by nesting layouts i this way you could easily end up with nine layers of divs for just a couple of content boxes. The layout on the template page would also look like a complete mess. For me, these two drawbacks make it most likely an unusable solution, but it may work for somebody.

This thread is closed