"Stopgap" site converson from static to responsive

I am part of a two-person inhouse graphics team for a manufacturing company. As a result, I am something of a jack-of-all-trades/master-of-none. I coded and maintain our rather large website, but plan to retire in a year, so we are beginning the process of building a new site with a CMS, which is progressing slowly. In the meantime, google finally noticed that our site is not mobile-friendly, and our placement in results has dropped radically in the last couple of weeks.

URL is www.vici.com

I am wondering if the CSS for the current site could be “tweaked” to work responsively. The home page is unique on the site but on other pages, the top main nav and left column nav would compress to a hamburger and the right column would move under the main content column as the display shrinks. I have a very basic understanding of media queries and the mechanics of responsive design, and think that it might be possible.

Is someone willing to take a look and advise me if it seems feasible to hire a freelancer to accomplish this? (I can’t seem to get my tired old brain wrapped around all that’s involved.) If someone is willing to take a look, I’ll post the CSS files. I just feel like if I approach a freelancer, they will automatically respond “Of course I can do it”, and then some bucks down the road I’ll learn that it’s not feasible. If it’s obvious to anyone knowledgeable that we need to just take our lumps with google and get moving on our new site, I’d appreciate hearing that opinion as well.

Thanks for your consideration.

Hi,

Yes it’s possible but as you have a lot of pages it will be quite a time consuming although most of it will be straight forward.

You can set media queries to reduce the columns from 3 to 2 to 1 quite easily but then you need to go through the elements in those columns and make sure they are also responsive and not fixed width etc (including images and videos). Again this is pretty straight forward stuff but as you have a lot of pages and it’s just the time involved that will be costly.

You would be better off tackling this yourself as you could work through it one page at a time and hopefully similar pages wouldn’t need much work if they follow similar formats.

The only sticky point is your mega menu and that would take some time to convert into a mobile friendly menu because it is so large and has also been coded in html tables (naughty naughty) meaning that it cannot be simply reduced to block level as headers would not match content.

As an example to show very roughly what’s involved I’ve created some rules that you can play with:

These apply to the support.php page (and the product menu only).

div#page-wrapper{width:auto;max-width:940px;}

@media screen and (max-width:960px){
#content div.two-wide{width:47%;}   
}

@media screen and (max-width:800px){

#twocolwrap{margin-right:0;}
#ref-wrapper{float:none;clear:both;width:auto;}

#content div.two-wide{width:auto;float:none;}
#content .rightmargin{margin-right:0}
#content-wrapper{margin-right:0;}
    #main-nav div#product-menu table{width:auto;display:block;}
    
    #main-nav div#product-menu table tbody,
    #main-nav div#product-menu table thead,
    #main-nav div#product-menu table td,
    #main-nav div#product-menu table th,
    #main-nav div#product-menu table tr,
    #main-nav div#product-menu table td table,
      #main-nav div#product-menu table th.right a{
        display:block;
        width:auto!important;
    }
    #main-nav div#product-menu table td{
        background:#fff;
    }
    
    #main-nav div#product-menu table th{
        background:#ccc!important;
        
    }
    
    #main-nav div#product-menu table tr td ul li, #main-nav div#support-menu table tr td ul li{float:none;width:auto;}
    
    #main-nav  li:hover #product-menu{
        left:0;
        right:auto;
        width:auto;
        background:#fff;
    }
    
}
@media screen and (max-width:480px){
    #content-wrapper{margin-left:0;}
    #nav-wrapper{float:none;width:auto;}    
}

Copy the above and use a live CSS editor extension for Chrome and just paste the code into the editor to see the effect on your live site.

It should look something like this:

Bottom of page:

As you can see it is possible to make the menu go into one column but the headers don’t match the content so what you would need to do is set the table up as shown in this responsive table and supply headers with data attributes.

You would probably also need to add some js to make the menu a click menu rather than a hover menu at smaller screen sizes to make it easier for touch devices.

So to answer your question yes its feasible but just a little time consuming and you may have to settle for some ugliness at smaller screens but of course that’s better than what you have now.

Lastly if you do use media queries then you will need to add the viewport meta tag or it will all have been a waste of time :slight_smile:

<meta name="viewport" content="width=device-width, initial-scale=1.0">

1 Like

PaulOB, thanks very much for taking the time to consider my situation. Part of my difficulty is that since I only work with web design once every few years, each time it feels like I’m starting my education all over from scratch. It will take me some time just to re-familiarize myself with my own code – why I did what I did and why things work the way they do. As for the mega menu, I do remember feeling “naughty” about doing it as a table, but at that point I was so tired of forging through the new-to-me worlds of CSS layout and list-based navigation that the naughtiness was supplanted by the joy of simply achieving the functionality I was after!
I will try moving ahead from the starting point you’ve given me, and see if the synapses will start to fire!

2 Likes

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.