Ready to watch this entire course?
Become a member and get unlimited access to the entire skills library of over 4,974 courses, including more Web and personalized recommendations.Start Your Free Trial Now
- View Offline
- Using the Dynamically-Related Files feature in Dreamweaver to design WordPress pages
- Applying WordPress themes
- Customizing themes
- Adding Spry widgets
- Adding WordPress dynamic data
- Populating the WordPress database
- Publishing a WordPress site
Skill Level Intermediate
In this lesson I'll show you how to retrofit a Desktop design for a tablet-size screen, specifically one that is between 321 pixels and 768 pixels wide. Let me show you what we're going to do for the blog_comp first. So I have my full-size Desktop size screen now. Let's go to Tablet size, and there is lot of differences here, some of them more subtle than others. The first thing is that the navigation is a little bit tighter in order to fit in this area, and also you can see if you look carefully that the navigation overlay--that's this brown area here--actually ends before the edge of the screen, so we'll need to adjust that as well.
Next--and perhaps most visually important-- the main content area is much narrower than it was before, whereas the sidebar is exactly the same width. Now this is obviously a design choice. You may opt to reduce both the main content and sidebar proportionally. And then as we look down further, it looks like there is some changes that will need to be made to the footer. All right, so let's head on over to index.php. Now, instead of copying the values from the blog_comp and changing the selectors where appropriate, let's just work our way down the page in our WordPress blog, adding styles to the tablet media query we established in the setting up media query's lesson.
For that I'll use the index.php from the blog folder, in Live view with my related files discovered, and my custom filter set to style.css. Now, again, I am going to use Dreamweaver's Window sizing capabilities to work within the targeted tablet width. Although the icons we see here are really intended for use with Dreamweaver's Fluid Grid Layout future, the tablet one is the exact width we need, so let's click that. Now you can see immediately the problems where I have a horizontal scroll bar here and one of the primary goals in making this type of conversion is to make sure that there is no horizontal scrollbar, that's it's only a vertical scroll.
So first, we go to my stylesheet, and we're going to be working in the Tablet media query right here. So I am going to first reduce the overall width of the page and the main container. So we'll set the body and the outerWrapper, we'll create a rule for that and set that width to 768 pixels. Now let me go ahead and make a little more room for my design here, so we can take a look at it as it happens.
Now as I mentioned, the navigation here is pushing out my horizontal. I see alumni up there, and then there is blog and about, and that means that there's just too much right margin here. So let's adjust that with another rule, and I am going to target pageHeader li, that's the list item, and I'll set that with a margin-right to 25 pixels. If you have any question as to whether you're targeting the right element or not, you can always use Inspect mode to verify what you think is right.
Next, I am going to reduce the width of the navigation area which is contained in the nav tag. So pageHeader, nav, and I am going to reduce that to a width of 600. All right, let's switch in to Design view and hit Refresh and see how things are looking. Well, not bad. Looks like our header area is shaping up pretty well. Everything is kind of nicely tightened up along the navigation area, and our brown area is no longer pushing out beyond the page.
Now obviously, there is the main content area next. So I'll need to adjust the background image that creates the faux columns for the main content and the sidebar areas. As I said, I'm planning to reduce the main content area and keep the sidebar the same. The full width of the entire page is 960 pixels, and my reduced width is 768. The difference between those two values is 192 pixels, so that means I just need to shift the background image to the left 192 pixels.
I can do that via the background position property, and while I am at it, I'll also need to give the container that has that faux column image in it a new width. So let's head back to our stylesheet, and you may recall that the faux column image is applied to a div with an ID of #contentWrap. So let's target that particular div, and I am going to set up a background position as the next property and shift everything over as I said 192 pixels to the left, and to do that I'll need to use a negative value, so -192px.
When you're changing one value with a background position, you always want to give both the values. So I want to give the horizontal version and the vertical and the vertical is just going to be top. Okay, as I said, we also want to restrict #contentWrap to a new width, and that width is 768 pixels. So let's make sure to put in our closing bracket here. Now let's apply that same measurement difference, 192 pixels, to the width of the main content area which is controlled by the content selector.
Let's expand our CSS Files panel just to see what that width currently is. So I'll go here, use my left arrow key to go up the DOM 'til I get to the content area. And my width now is 607 pixels, so subtract 192 from that, and you'll get 415, our new width for the content area for tablet-sized screens. So let's go down and add in that rule, content is the selector, I'll do an open and closing curly brace and then set the width to 415 pixels.
Okay, let's see how that looks with a Refresh. Ignore that protruding video for now. We'll get to that before we're over. Let's tackle the footer area next. As you can see, the three-column arrangement just isn't working anymore. Now there are a lot of variations you could apply to this area, but let's take a simple one-column centered approach. So let's head back to Split view and style.css, and we'll add in a new rule for footer tag, and we're specifically going to target a class called col, short for column.
Now I am going to turn off the floating, we don't need that anymore, so that will give us one column right after another, so float none. And there is also, as you can see, right next to ABOUT ROUX ACADEMY a border-right that appears. Let's get rid of that. And finally, let's center all of the columns, so we'll do a margin: 0 auto. Okay, let's Refresh the page, and that does what we were expecting it to, but it looks like there is a little bit of padding between the links sections and the final Copyright line, would be handy.
Since this is the only <p> tag in the footer, I can go ahead and address that directly. So I'll create a rule, footer p is the selector, and set the padding-top of that to 20 pixels, and let's close off that rule with a curly brace, hit Refresh, and see how it looks. All right, that did the trick. So typically, at this point I'd say good job and offer high-fives all around.
But scroll up a bit, and we have this big monster video sitting in the middle of our page. The comp doesn't really account for handling video responsively. So it's good that it came up now, rather than when the client first uses the site. Let me show you how to make a video resize as needed in a responsive web design. It'll take a couple of CSS rules and some judiciously- placed HTML, but it's really not that hard at all. So, since we're here, let's do the CSS first.
So let's switch to Code view, and then I am going to scroll up. I am actually going to put this video code above both of the @media declarations so that it will be effective across the board. Now we'll need to create an initial rule for a containing element that maintains the proper padding and handles overflow correctly. And I want to call this containing element video-container. The element that is within the video container--that is the video--will in the next rule be positioned absolutely.
To set that up, we need to set position: relative in the containing element, we also need to add some padding on the top and bottom. Now the bottom, we're going to set up at a percentage value, and the top we'll set to a specific value. So padding-bottom, we'll set to 56.25%. This is a value that's been worked out on the web by a number of people, and it seems to be very effective. And then a specific value for the top, and I'll make that 30 pixels.
Initially, we're going to set the height to zero, and that will allow whatever is in the containing element to determine the height, and overflow must be set to hidden. All right, that's our first rule. Now we're ready to create the rule for the object within the video container. When WordPress embeds video, it typically uses an iframe. But it or other systems could also use an object or an embed tag, so we're going to make sure we cover all of our bases in a single rule.
So the initial selector is still my video container class, so .video-container, and then we'll put in the selector for whatever is inside that, and the first one we'll use is the iframe, and then I'll put a comma. Next, we'll do the same thing but for object, another comma, and finally we'll do a video-container embed. I'll insert my open and closing curly braces, scroll up a tad, and as I said, we need to position this absolutely.
So let's make that our first property declaration. Next, we want to tell the browser exactly where within the container we want this to be positioned, and we're going to put it at the top left corner so that's a top: 0 and left: 0. We want to set the width and the height so that they expand as much as they can within the container. So we'll set those properties to 100% each. Okay, our rules are all done. I am going to save my CSS stylesheet.
Now to take advantage of these CSS rules, we'll have to add a bit of HTML to our posts that contains the video. Let's head on over to the WordPress Dashboard and edit the Video Production Project Online post. Okay, so we want to go into the HTML tab, because we're going to be adding some HTML, and I am going to put my cursor right after that first line and before the link and put in my div code, which is going to be <div class ="video-container"> and then add a new line.
This is very important to do that. You want to isolate the link that you see here, and if you have an errant character like I do here, this non-breaking space, you want to get rid of that. Now let's close off the div, and we can click Update. I want to reiterate that it's vital that you have blank lines on either side of the URL. Otherwise, WordPress will just output a link, rather than an embedded video. Now that we've updated the post, let's go check it out in Dreamweaver. So now I'll click Refresh, and there is my properly scaled video.
If I switch to Desktop width, the video scales up accordingly. The best thing is that this video we're scaling will also work for the iPhone screens, which we'll tackle next.