navigate site menu

Start learning with our library of video tutorials taught by experts. Get started

Dreamweaver and WordPress: Building Mobile Sites

Dreamweaver and WordPress: Building Mobile Sites

with Joseph Lowery

 


In this course, author Joseph Lowery shows how to build a mobile WordPress site in Adobe Dreamweaver. The course explains how to prepare a site to go mobile, optimize a site's styles for tablets and phones, and implement a full mobile redesign. The course also covers working with WordPress child themes, integrating media queries, incorporating screen-optimized graphics, designing for touch screens, and working with orientation changes. Exercise files accompany the course.
Topics include:
  • Setting up an existing WordPress site
  • Targeting configurable site elements
  • Setting up media queries
  • Preparing for adaptive images
  • Styling a blog for tablets
  • Restructuring navigation for different-sized displays
  • Developing a WordPress site for phones

show more

author
Joseph Lowery
subject
Web, CMS, Mobile Web
software
Dreamweaver CS5, CS5.5, WordPress 3.x
level
Intermediate
duration
2h 0m
released
Mar 02, 2012

Share this course

Ready to join? get started


Keep up with news, tips, and latest courses.

submit Course details submit clicked more info

Please wait...

Search the closed captioning text for this course by entering the keyword you’d like to search, or browse the closed captioning text by selecting the chapter name below and choosing the video title you’d like to review.



Introduction
Welcome
00:04Hi! I'm Joe Lowery. Welcome to Dreamweaver and WordPress:
00:07Building Mobile Sites.
00:09I can't walk down a New York City street, or take a subway ride without noticing
00:14how everyone seems to be using their phone to compare restaurant reviews, or a
00:17tablet to catch up on the latest buzz. In this course, we'll help you mobilize
00:22your WordPress sites with Dreamweaver.
00:24First, we'll put down a solid foundation, so you can better understand what your
00:29options are when it comes to adapting your site for a range of screens.
00:33I'll also give you the complete rundown on media queries;
00:37the basic CSS3 technology that allows you to create responsive Web designs.
00:43Next, we'll dive into the first of two techniques for building mobile WordPress sites.
00:49The first method, which uses WordPress child themes is great for setting up sites
00:54that require relatively few changes.
00:57I'll show you how to optimize your CSS for both tablet and phone.
01:01Then, we'll spend the rest of the course exploring a different methodology,
01:05better suited for applying more extensively custom designs, with multiple style sheets.
01:11Along the way, I'll also show you how you can set up your WordPress site in
01:15Dreamweaver to use adaptive images that incorporate screen-optimized graphics
01:19resized on the fly, as well as restructuring your navigation as your content
01:24moves from large to small displays.
01:27Please note that this course assumes you're familiar with basic Dreamweaver and
01:31WordPress functionality, and the integration between the two.
01:35Okay, let's get going with Dreamweaver and WordPress:
01:39Building Mobile Sites.
Collapse this transcript
About the exercise files
00:00If you are a Premium Member of the Lynda .com Online Training Library, you have
00:05access to the exercise files used throughout this title.
00:08The information in this course is ultimately intended to be applied
00:12to your own Web pages.
00:14However, you may find it helpful to work with the supplied exercise files to
00:17practice the steps safely, and without creating your own examples.
00:21To begin using the files from the site, download them, extract them, and then
00:26store those files in a convenient location, such as your Desktop.
00:29The Exercise Files folder is organized by chapter, and in every chapter, it's
00:35broken down into the various movies that you'll see.
00:38Within the movie chapters, there are a series of files, typically assets, like
00:43CSS style sheets, images, source code files, and so forth.
00:47In the video chapters, you'll also find a Final folder, which contains the files
00:52showing the completed lesson that you can open up, and explore at your leisure.
00:56Because we're working with WordPress, which stores much of its information in a
01:00database, it's best to follow the course chapter by chapter in order to have
01:05the most current data.
01:06However, if you'd like to jump in at a certain point, I've provided an XML file
01:11for certain chapters, which you can use to bring the data into WordPress'
01:15database tables with the WordPress Import feature.
01:19The Import feature is found in the WordPress Dashboard, under the Tools category.
01:23If you're a monthly subscriber, or annual subscriber to Lynda.com, you don't
01:27have access to the exercise files, but you can definitely follow along with
01:31your own assets.
Collapse this transcript
Development environment requirements
00:00Because WordPress is an application that relies on PHP, and MySQL, you'll need
00:05to set up a local development environment to work with it.
00:08While going through all of the steps to create such a development environment is
00:12beyond the scope of this course, I am going to lay out the requirements, and give
00:15you some pointers, including a freely available Lynda.com course.
00:20For WordPress to run, you'll need the following setup on both your hosted site,
00:24and your local system.
00:26First, you'll need a Web server, like Apache, or Microsoft's Internet
00:30Information Server.
00:31Then, you'll also need a PHP server, version 5.2.4 or better.
00:37Finally, you'll also need a MySQL Server, version 5.0 or higher.
00:42If you're working with a legacy WordPress site that uses WordPress 3.1 or below,
00:47you can go with earlier versions of both PHP, and the MySQL Server.
00:52Make sure that your Web site host meets these requirements before you embark on
00:56using WordPress for a site.
00:58These days, you'll find that most of them do.
01:01Now, if you haven't set up a local development environment yet, and you need to,
01:05there are several ways to go.
01:07You can install the various components -- the Web server, the PHP server, and
01:11the MySQL Server -- separately, or you can install one of the several bundled
01:16systems that are available.
01:18There are three that I feel comfortable recommending for most anybody.
01:22The WampServer for Windows is good for both 32-bit, or 64-bit systems. MAMP is
01:28available for Mac OS X. When you go to download it, you'll see that there is a
01:32standard, and a pro version;
01:33you really only need the standard version.
01:36If you want one system for both Windows and Mac, I'd recommend XAMPP.
01:40Now, all of the bundled systems come with PHPmyAdmin,
01:44but if you're installing the components separately, I'd recommend that you also
01:48install PHPmyAdmin, or a similar database manager.
01:52If you'd like detailed explanations of how to do this, see the freely available
01:56course by David Gassner: Installing Apache, MySQL, and PHP in Lynda.com's
02:03Online Training Library.
02:04Next, you'll need to set up WordPress locally.
02:07For a detailed explanation, see my course, Dreamweaver and WordPress: Core Concepts.
02:13As an overview, here's what you need to do.
02:15First, create a database in MySQL with PHPmyAdmin, or a similar app.
02:21Then copy your WordPress files that you've downloaded from wordpress.org to a
02:25new folder in your Web root.
02:28In your browser, go to localhost/(folder name).
02:32That will prompt the WordPress application to put up a screen that says, looks
02:36like you don't have a configuration file;
02:38would you like to create one?
02:40You click Yes, and then you're off to the races.
02:43All you need to do is to enter the database name, the server name, which is
02:47typically localhost, and then your username and password for MySQL.
02:52After WordPress installs, the final step is to create your
02:56Dreamweaver environment.
02:58For that, you set up a Dreamweaver site pointing to your WordPress files, and
03:03then also create a new testing server in Dreamweaver.
03:06You want to make sure to connect using Local/Network settings, point to that
03:12same site folder, and then switch over to the Advanced Tab in the server setup,
03:16where you can select the PHP MySQL server model.
03:19After you've saved those settings, make sure that you check the testing server
03:24checkbox, and not the remote server.
03:27Once your local development environment is established, you'll be able to
03:30create and develop WordPress sites, as well as work with PHP and MySQL
03:34separately in Dreamweaver.
Collapse this transcript
Setting up an existing WordPress site
00:00Web designers wear many hats, and from time to time, they're called to take over
00:05and expand upon an existing site.
00:07If you're working with a plain HTML site, the handover can be as simple as
00:11copying a set of files.
00:13However, if you're working with a WordPress site, life just got a little more complicated.
00:18In this movie, I'm going to show you the steps you need to take when
00:22expanding an existing WordPress site that's not your design, and along the
00:26way, show viewers who would like to use this course's exercise files how to
00:31set up your local site.
00:33This course assumes that you already have a local PHP MySQL development
00:38environment established.
00:40The first step is to create a new database.
00:43So I'm going to go over to phpmyadmin up in my browser, and click Databases, and
00:49then create a new database, and we're calling this one tpa, which is short for the
00:55site's company, Trans Planet Airlines, and then a hyphen, mobile, and click Create.
01:02It's very quick and easy.
01:03Next, because this is going to be a WordPress-centric site, I'm going to copy a
01:08recently downloaded version of WordPress into my local site root, which, because
01:13I'm using WAMP server, is C:/wamp/www.
01:19So let me go over to Windows Explorer, and here in my Downloads folder, I have
01:23my wordpress folder.
01:25I'm just going to right-click, and then copy that, and then go to C:/wamp/www, and
01:35then paste in my copied folder.
01:40I'll now rename wordpress to the site name.
01:43For this course, it's DW_WP_Mobile.
01:48Let's head back to the browser to handle the WordPress installation.
01:52I'll open up a new tab, and go to localhost/dw_wp_mobile.
02:01This is not case-sensitive, so you can enter in in lowercase if you'd like; put a
02:05Closing Slash, and then hit Return.
02:07WordPress detects that we don't have a wp-config file available.
02:12All we need to do to start the installation is click Create a
02:15Configuration File. So I'll do that.
02:18There is our information screen.
02:20We've got all of these items ready.
02:22So I'll click, Let's go!
02:24Now let's enter in the name of the database that we just set up.
02:27That was tpa-mobile.
02:31My username here is root.
02:33I don't have a password set up for this installation of WAMP server,
02:38but it's my local development system, so I feel okay about that.
02:41My Database Host is localhost, and I'm going to keep the Table Prefix at wp_. All right!
02:47I'm ready to click Submit, and then run the install.
02:55I'll put in the site title, which is Trans Planet Airlines.
03:01Keep admin as the username, and enter in a password, confirm that password, and
03:09enter in my e-mail, and then I'm going to deselect the Privacy checkbox.
03:17Because this is a local development site, there's no need for Google and
03:22Technorati to search my site.
03:24Now let's install WordPress, and Success!
03:28Okay, let's go ahead and log in.
03:30Enter admin as my username, and the password.
03:35You'll get a welcome screen, Dashboard, which you can go ahead and dismiss.
03:39Now that we have WordPress up and running, let's head on over to Dreamweaver
03:43to set up the site.
03:45Here in Dreamweaver, I'm going to choose Site > New Site, and then name this site,
03:50and this is going to be DW_WP_Mobile.
03:54The Local Site Folder is the one that we just copied over into the site root,
04:00so I'll click the Browse for folder, go to Computer, C: > wamp > www, and
04:09double-click DW_WP_Mobile.
04:13We want to make sure that select, and then your folder name is shown; click Select.
04:19Now, we need to go and set up a local testing server as well,
04:23so I'll click the Server category, and then add a new server.
04:28We'll name this server testing, and I'm going to connect using the
04:33Local/Network options.
04:36Let's click on the Browse for folder icon next to Server Folder, and it should
04:41go right to the site root. That's perfect!
04:44Click Select.
04:46Now let's enter in our Web URL, which is going to be http://localhost/ and then
04:55the folder name: DW_WP_Mobile.
04:59Again, it's not case-sensitive. All right!
05:01Put in a closing Slash, or let Dreamweaver do it for you.
05:06Now one last thing: let's click on Advanced, and then choose PHP MySQL from
05:12the Server Model list.
05:14Click Save, and here's that one little gotcha that I was mentioning in
05:18the previous video.
05:20You want to make sure that you turn off the Remote option here, and turn on Testing.
05:26Okay, click Save.
05:28Dreamweaver will open the site, and update the site cache, and now we're ready to
05:33incorporate some custom work that will give us a solid foundation to work on.
05:37I'm going to head on over to Windows Explorer one more time, and go to my
05:42Desktop, where I have my exercise files. Open those up, and in the Introduction
05:47folder, you'll find one for this movie: 00_04.
05:51If you open that up, you'll see three items there.
05:55The first we're going to work with is tpa, which if I expand it, you'll see
06:00are files that belong in a WordPress theme.
06:03So I'm going to go ahead and copy that, and then head on over to my C:/wamp.
06:12I'll just scroll down to www there, and drill into my site.
06:20All themes are contained in the wp-content folder, and within that, in the themes folder.
06:27So once I've expanded the themes folder, I can right-click, and then click Paste,
06:32and there is my tpa folder.
06:35Now, we need to bring another folder from the exercise files over, and we're
06:40going to put it right here in wp-content,
06:42and that's the Uploads folder.
06:44So let me head back over to the Desktop; Exercise Files > Introduction > 00_04, and
06:54I'll select the Uploads folder.
06:56The Uploads folder will contain images that were used in posts of the existing site.
07:01WordPress stores those in the wp- content/uploads folder, in a date-oriented
07:08folder structure, with a folder for each year, and then within that, a folder for
07:13any month that you upload a folder in.
07:16So we're going to grab this entire folder here, copy that, and then head back
07:22to our site root, into our site, into the wp- content folder, and then just paste that in.
07:33You'll notice that there is no Uploads folder to begin with.
07:36WordPress doesn't create that folder until you upload a file.
07:40Okay; our Dreamweaver work is completed.
07:43Let's go back to the WordPress Dashboard one more time, and activate our custom theme.
07:49Themes are found under the Appearance heading.
07:51So I'll click Themes, and
07:53here you see the Current Theme, which is 2011, and we also see our two Available Themes.
08:00On the left is my custom theme, tpa, and on the right is another default theme
08:06that's installed by WordPress.
08:07Let's go ahead and just activate the tpa theme, and we can take a look at it, and see
08:13how it is shaping up. All right!
08:15That looks pretty good.
08:16Let's go back to WordPress Dashboard, because we have one more thing to do, and
08:23that is to import the data from the previous site.
08:26You can do this directly through WordPress.
08:29You have an Import tool that's found under the Tools category.
08:34So I'll click Import, and you can import a number of things.
08:37We want to import a WordPress XML file, so click WordPress.
08:41Now, this is the first time that you've run it as it is here.
08:45You'll need to install the importer.
08:47So just click Install Now.
08:49Once it has installed, click Activate Plugin & Run importer.
08:53Okay, we're ready to go ahead and choose a file.
08:58That file will be found in the exercise files that we've been working with;
09:03also in that same Introduction > 00_04 folder, and it's called tpa-mobile_start.
09:13So select that, click Open, and Upload file, and import.
09:19Now, I'm going to go ahead and leave the default options here, and just click Submit.
09:23Now, you'll get a couple of error messages. Those are okay.
09:27The media that you see here, that it says it has failed to import; that's why we
09:32transferred over those files.
09:34Okay, so let's just go take a quick look, now, at our site.
09:40There we see the default, Hello World!
09:43message from WordPress, and a couple of custom posts as well. All right!
09:49I'm going to go to the post, and just do a little bit of cleanup.
09:53Let's get rid of Hello World!
09:55by clicking Trash, and we'll go to the Pages category as well, because they also
10:02install a sample page. No need for that,
10:04so let's get rid of that. Okay.
10:09Let's do one final test in Dreamweaver to make sure that our testing server is
10:13up, and firing on all cylinders.
10:16To test, I'll open up the index.php file in our site root; go into Design View.
10:25Let's discover our dynamically related files to make sure everything is there.
10:29You'll get a Script warning from Dreamweaver.
10:32That's fine; click Yes.
10:34It looks like all of our files have been discovered,
10:37so let's go into Live View, and there's our site.
10:42Excellent!
10:43Everything is working as expected.
10:45The techniques covered in this movie are not only useful for taking over a
10:49legacy WordPress site, but they can also be applied when moving a site from one
10:53Web host to another.
Collapse this transcript
1. Preparing Your Site to Go Mobile
Targeting configurable site elements
00:00When laying out a strategy to develop a mobile WordPress site, it's important to
00:04have a firm grasp of what your options are.
00:07In this movie, I'll go over all the various component elements of a site that
00:11can be adapted for optimum performance on a variety of screens.
00:15To illustrate the concepts, we'll take a look at some of the best
00:19implementations of mobile Web sites.
00:21So I have open here an Example_Sites page, which can be found in the
00:26Chapter 1 > 01_01 folder of the Exercise Files.
00:31If you would like to open this up and use it in your local site, be sure to save
00:35it in your local site, or else Dreamweaver won't be able to use it with the
00:38testing server already set up.
00:40So let's start with what is perhaps the most basic element open to
00:44mobile modification, and
00:46that's the structure of the page itself: the layout.
00:49The number of columns, and their width, can easily be adapted.
00:53So I'm going to go into Live View here, and then from Live View options, choose
00:58Follow Links Continuously, so that we can use Dreamweaver itself to demo the
01:02various states of these mobile-oriented Web sites.
01:05Let's go to Boston Globe.
01:07I think it's appropriate that the first site we look at as an illustration for
01:12mobile techniques was created in consultation with Ethan Marcotte, whose article
01:17on Responsive Web Design started a revolution in mobile site development.
01:22Here we see it in full screen, and you can see, it's a multicolumn layout.
01:27Now let me go to Window Size, and let's go down to Tablet.
01:32Now we're going to two columns instead of three.
01:35If I scroll down, you'll see all the content is still there;
01:39it's just laid out below the existing two columns.
01:44Let's go to Phone, and now we're down to a single column.
01:50You'll notice that the content is being totally reflowed.
01:53It's not like we just cut off all the other columns.
01:56The layout has been made more suitable for a small screen design.
02:02Now, to reinforce the concept of column reconfiguration, here's a visual example
02:07by a company called Made by Splendid.
02:11Notice all the graphics here, and watch what happens when I go to Tablet, and then
02:20again, when we go down to Phone.
02:28Another obvious candidate for CSS modification is text.
02:33Text sizes, both in headlines, and body text, can either change size proportionally
02:39if set in ems or percentages, or expressly at specific breakpoints.
02:43Here's a site that does both.
02:45It's an Amsterdam-based design firm: edenspiekermann.com.
02:49So here we see it in Smart Phone view, and you can get a sense of the easily
02:55readable type size there.
02:57Now, let's go on up to Tablet, and things have changed a little bit.
03:04You can see that they actually have a manifesto here that opens and closes, which
03:08is missing from the mobile phone design.
03:12When we go to full size, the text enhances significantly.
03:17How can you use Dreamweaver to tell that there is a big change?
03:20Well let me expand my panels here, and then I'll open up the CSS Styles panel,
03:25and give it some room by closing Files panel.
03:28Let's go into Inspect mode, and take a look at some of the text.
03:32So if I go into this top middle column here, we can see that the font size is 1.6 em.
03:39Let me change to Tablet again, and now font size is 1.3 ems.
03:45One more time; do Smart Phone, and it stays at 1.3 ems.
03:53You'll find, as you start to look around, that there are definitely a number of
03:56different philosophies and strategies for handling text.
04:00Sometimes people make the shift when moving from a Desktop design to a tablet
04:04design, and then don't when going from tablet to phone, and others will skip
04:09the transition when going to tablet, and only make a change in font size when going to phone.
04:14It really is totally up to the designer.
04:18One of the page elements that really cries out for adaptation is navigation.
04:23While primary navigation may not change when viewed on a tablet, it often does,
04:28and should, on smaller screens, like this one from Impact Dialing.
04:32So here's our navigation up top here.
04:34Let's go to Tablet size, and pretty much identical.
04:40Now, let's switch down to Smart Phone, and totally different.
04:45Let's look at one other site; a designer site called D Construct
04:50that updates the navigation for both tablet and phone.
04:54So here, when looking at the window size for a mobile phone, you'll notice the
04:58navigation uses small icons.
05:01Let's head up to Tablet, and now we're back to straight text.
05:07And again, when going up to Full Size, the text gets a little bit larger.
05:12A subtle difference, but still pretty significant.
05:15Many designers take advantage of the bigger canvas of the Desktop screen with
05:19large-scale background images.
05:21These backgrounds can look great on the Desktop and tablet, but overwhelm the small screen.
05:27On this site, CalebAcuity, they handle it by dropping out this
05:31large-scale background.
05:34They keep it for the tablet.
05:36Now, Dreamweaver seems to have a problem with this particular Web site when
05:40switching the document window to phone size.
05:42So let me show you this in Chrome, and I'll just drag the width of the
05:46window, and here you can see it resizing using ems, but watch what happens
05:51when we get to a certain width.
05:53The background image goes away, and is replaced by a totally different
05:58navigation experience.
06:00What about foreground images?
06:03In many ways, they're a much bigger headache than backgrounds, primarily because
06:08there is no pure CSS method for adjusting sizes automatically, or even using
06:13media query breakpoints.
06:16Designers working with WordPress sites are lucky, however, because WordPress is a
06:20PHP application, and there is a programmatic method for outputting
06:24appropriately sized images on the fly.
06:27We'll cover the technique in a later video called setting up adaptive images,
06:31but I wanted to show you an example of what's possible.
06:34Here's a site from Wales called dolectures.com that uses adaptive images very effectively.
06:41So, we're in Tablet View now.
06:44Let's switch over to Full Size, just so you can see the change in image size.
06:50Then let's go to Smart Phone 320x480.
06:53Now, these are not just the browser resizing the images; it's actually new
06:59images being created on the fly.
07:01Well, let's flip back to Full Size, and we'll cover one final element, and that's
07:07the 800 pound gorilla in the room: the content itself.
07:11I'm going to go to Glue Isobar's site.
07:14You'll find that some designers take a hard look at how the site they are
07:18working on is being used on various screens, and then structure it accordingly.
07:23Take, for example, this site from creative agency, Glue Isobar.
07:27When moving from Desktop to tablet, the content merely rearranges itself.
07:33However, when viewed on a Smart Phone, entirely new elements emerge that point up
07:38the most frequently required aspects of their site. Their address, complete with
07:43map, and phone numbers are right up top.
07:47I hope you found this overview of what's possible in mobile Web site design to be
07:51beneficial, and maybe even a tad inspirational.
07:54Now that you understand the overarching concepts, you're ready to tackle the CSS
07:59mechanism that powers these changes:
08:01media queries.
Collapse this transcript
Understanding media queries
00:00There's an ever-growing proliferation of internet capable devices, with an almost
00:05dizzying variety in screen sizes, and resolution, and Web designers everywhere
00:11owe a debt of gratitude to the W3C working group, who developed the media query
00:16specification for CSS3.
00:18A media query allows specific CSS rules, or external style sheets, to be
00:25applied conditionally.
00:26You can, for example, start with a basic Desktop design, and then use one set of
00:32CSS rules if the width of the display screen is at a minimum 768 pixels, like an
00:39iPad or other tablet, and another, if the screen is at least 320 pixels, like an
00:45iPhone or Android device.
00:47In fact, you can have as many CSS style sheets for as many different screen
00:52sizes as you can handle.
00:54So what does the media query code look like?
00:57Well, if you're incorporating entirely different external style sheets, it's a
01:02link tag with an enhanced media attribute.
01:06Here's the code to pull in a style sheet for a standard tablet.
01:10Note the min-width and max-width named value pairs within the media attribute.
01:16The min-width and max-width properties are supported across all modern browsers
01:20that you'll find on mobile devices.
01:22There are other conditional media attributes, like orientation as well.
01:28Now, you don't always have to work with external style sheets.
01:31Using the @media statement, you can conditionally apply properties and values.
01:36Here's the code for adding styles to a small sized screen in an @media statement.
01:42So that's all well and good in the abstract, but how does one go about designing
01:46for multiple screens?
01:47Dreamweaver has developed a very easy to use interface called the
01:52Multiscreen preview.
01:53We'll get to the specifics of working with the Multiscreen preview when
01:57creating WordPress sites later in the course, but I wanted to introduce you to the feature.
02:02I am going to click Multiscreen up here in the top bar, and here you see what
02:07is perhaps the world's largest dialog box, and this offers us three different
02:12views of the same Web page.
02:14The Desktop version is found on the bottom, the Tablet on the upper-right, and
02:19Phone on the upper-left.
02:20This interface not only previews the final results of your media queries, but it
02:25also allows you to set them up.
02:27So if I click the Media Queries button here, another dialog appears.
02:32Now, if you're using Dreamweaver CS5, you've got a more basic interface when you
02:37click Media Queries.
02:38Both versions -- CS5, and CS5.5 -- do essentially the same thing: allow you to define
02:45widths where a specified CSS style sheet is invoked.
02:48In Dreamweaver CS5.5, you can also choose to write your media queries into a
02:53master CSS file, or the current HTML doc.
02:57One other difference is that you can opt for Dreamweaver to insert a meta-tag
03:02that forces devices to use their true width.
03:04That's this option right here.
03:07If you don't include this code, mobile devices, like the iPhone, will
03:10automatically scale your site as if it had a larger width, and you won't get
03:15the anticipated design.
03:17If you're working with Dreamweaver CS5, you can code this by hand.
03:21Finally, in Dreamweaver CS5.5, you have the option to create additional media
03:27queries right in the interface that you see here.
03:29Dreamweaver CS5 users will have to code any additional media queries manually.
03:35Luckily, once you see a few examples, the syntax is pretty easy to understand.
03:41Media queries are at the heart of a mobile Web development strategy, and you'll
03:45be seeing a lot of them as we create our mobile WordPress sites.
Collapse this transcript
2. Retrofitting for Multiple Screens
Setting up a child theme
00:00In this chapter, we will cover the first of two techniques for creating a
00:04mobile WordPress site.
00:06The other technique, which begins with Chapter 03, is for more robust mobile-first designs.
00:12The method described in this chapter is best used for retrofitting a Desktop
00:16design to create the look and feel for tablets and phones.
00:20Although both techniques make use of media queries, this strategy relies on the
00:25@media statements, and importantly, WordPress child themes.
00:30Let me start by opening up the style.css for our current theme, TPA.
00:36So I will go to the Files panel, open up wp-content > expand themes, and then open
00:44up our tpa folder; double- click on style.css to open it.
00:52Now you know, when you install a new WordPress theme, it is maintained in it's
00:57own subfolder, found within wp content themes.
01:01Just like 2011 or the custom theme we are using now, TPA.
01:06Minor revisions can be made to the style.css file located within the
01:11specific theme folder,
01:12but if you ever upgrade the theme, you risk losing those changes,
01:16so the concept of child themes was born.
01:19As the name implies, a child theme can inherit styles from the parent, while also
01:25establishing its own.
01:27To create a child theme, you need to create a new folder in the themes folder,
01:32so I am going to right-click on themes in the Files Panel, choose New Folder, and
01:39I am going to name that mobile.
01:41And then, within mobile, all a child theme actually needs to be recognized by
01:45WordPress is its own style.css file.
01:48Although, you can add images, functions, separate pages, just as you would any other theme.
01:53So let's create that CSS file now.
01:56I will go to File > New > Blank Page in the first column, CSS under Page Type,
02:04and then click Create.
02:06Let's go ahead and save this in our new mobile folder. I will go to the site
02:15root, and then drill down to wp-content > themes > mobile, and we want this to be
02:22named the same standard name that you always use, which is style.css; Save it.
02:30Now we need to get rid of this code up top here, because in order to be properly
02:35recognized as the style sheet for a theme, we have to start with the CSS comment
02:40properly structured for WordPress.
02:42Let's go back to our TPA style.css.
02:46I am just going to copy this opening comment here, pressing Control+C on the
02:50PC, and of course Command+C on a Mac, and then Control+V to paste it, Command+V, of course, on a Mac.
02:57Now, most of this stays the same,
02:59but you do need to make a couple of changes.
03:01You need to change the name, so instead of TPA Theme, I'm going to call this TPA Mobile.
03:08Everything else can stay the same if it's still accurate,
03:11but you need to add one more line, and that is the template line, which indicates
03:17which parent to use.
03:19So you put in the keyword Template, followed by a colon, and then a space, and
03:24now you want to write in, not the name of the theme, as you might expect, but
03:28rather, the theme's folders name.
03:30So in this situation, we are going to be linking it to the theme that's in the folder tpa.
03:38So, here I'll just put in tpa, and save my file.
03:44A child themes style sheet completely replaces the style sheet of the parent.
03:49So, if you're not doing a complete overhaul, and one of the benefits of doing a
03:54child theme is that you don't have to,
03:56the first thing you'll want to do is import the parent style sheet.
04:00So now I'm going to add my @import statement, and we will use the URL parameter
04:06to point to the style.css file located in the tpa theme folder.
04:11So @import, space, url, open parenthesis, single quote, and we are going up
04:21a directory ../tpa/style.css.
04:29And then let's close that parenthesis, and put a semicolon.
04:33Okay, we will save our file, and now we're ready for the last step in setting up
04:38our child theme: activation.
04:41So here we are in the Dashboard.
04:43Let's go to Appearance > Themes, and there you see the child theme.
04:49Notice that we don't have a graphic for this. That's because we don't have an
04:53image named screenshot within the mobile folder, but that's okay;
04:57we don't really need one. And I will just scroll down a little bit, and here you
05:01can see a little more of a description of how child themes work.
05:05WordPress says, the template files are located in the themes/tpa folder, while
05:11the styles sheet files are located in themes mobile.
05:14And then it goes on to say that TPA mobile uses templates from TPA Themes. All true.
05:19All we need to do now is to click Activate.
05:23Okay, this part of our work is done.
05:25You will find that child themes are pretty straightforward to set up, and as you
05:29will see, the perfect vehicle for your mobile designs; pun slightly intended.
Collapse this transcript
Integrating media queries
00:00In the Chapter 1 video, Understanding Media Queries, I mentioned that there were
00:04two ways to apply media queries:
00:06with a link tag, or with an @media statement.
00:09In this movie, we will follow the @ media route to create the necessary media
00:13queries for this technique.
00:15The conditional @media statement goes directly into the style.css file we
00:20created for our child theme in the previous movie titled Setting Up a Child Theme.
00:26Before we can dive into the CSS, there is one bit of essential
00:30housekeeping, however.
00:32To make sure that our mobile devices are reporting the proper width, we will
00:36need to add a meta tag to the header.php file.
00:40So over to the Files panel we go, drill down to the tpa theme folder.
00:47Then when you find the header. php file, double-click that.
00:51Whenever you are working with a child theme, WordPress always uses the files
00:56that are found in the parent theme folder, unless there is a file with the same
01:01name, in which case that overrides the file functionality in the parent theme.
01:06Since we don't have a header.php in our child theme, any changes that we make
01:11here will apply to the activated child theme.
01:15So right after the title tag, I am going to place my cursor there, hit Return,
01:20and now I am going to enter in a meta tag with the name of viewport.
01:25This is a fairly recent tag, and that's why Dreamweaver CS5.5, at this point, does
01:31not have support for it in code hinting.
01:33After you've entered in the name, we enter in another parameter, content, and
01:37this content is a name value pair that sets the width property.
01:42So you enter in width, followed by an equals sign, and then the first of two arguments.
01:47In this case, we are going to set the width to a system variable
01:51called device-width.
01:54The device-width parameter tells the browser to use the width of the device as
01:58the width of the viewport, instead of the default number of pixels.
02:02Now, let's add one more argument, and that's the initial scale.
02:07So put a comma, and then right after it, initial-scale=1.
02:14Setting initial scale to 1 determines the zoom level, and stops the mobile device
02:19from zooming in or out.
02:21Let's close off the meta tag, put a space, a slash, and then closing caret. Okay.
02:28We are ready to turn to our CSS style sheet now, and add in our @media statements.
02:34I will save this file, and then go back to the Files panel, and from the mobile
02:41folder, double-click on style.css to open that up.
02:44After the @import statement, let's put a couple of lines, and add our first media query.
02:51It starts with an @media keyword, followed by a space, and then the parameter
02:56screen, telling it what type of media to use, and now a logical operator, and,
03:02followed by, in parentheses, the minimum width value, and instead of minimum
03:07width, you write in min-width.
03:09Our minimum width is going to be 321 pixels.
03:14Now, another and, followed by the maximum width, which will be 768 pixels. Close
03:21the parentheses, and then we will put an open curly brace, couple of line
03:26returns, and a close curly brace.
03:28Now, what we have just created is a media query for a tablet, where it has a
03:35minimum width of 321 pixels, which is just 1 pixel more than that of a phone, and
03:41a maximum width of 768 pixels. All right!
03:45Let's do another one, and we will do one for our phone.
03:48So I will add in a couple of spaces there.
03:51So it's the same syntax, except we will set the maximum width to 320 pixels,
03:56with no minimum width.
03:58Let's go ahead and save our page.
04:00So, do we need to post these pages, and look at them on a mobile device, or set up an emulator?
04:06Nope; Dreamweaver has a built-in method for displaying the results of
04:10conditional @media statements,
04:12but we do need to add some styles, so we can be sure it's working.
04:16As a quick test, I am going to add different background colors to the
04:20outerWrapper div selector.
04:22Okay, for our tablet, I will put in an outerWrapper selector, and then within
04:27that selector, a background color of green. All right!
04:30Let's copy that, and paste it in our telephone query, and we will make this one yellow.
04:40That should be graphic enough for us to tell the difference, don't you think?
04:43Now, I will save my file again, and now I will open up the index.php file for
04:51the site, which is found in the site root, go into Design, and then Live View,
04:58and there is our design.
05:00So now let's go to the Window Size list, which is found in the lower-right of the Status Bar.
05:06Now, when I click on it, it will show me all the available sizes, with a
05:10checkmark next to the current sizes.
05:12So we're at Full Size, in Landscape orientation.
05:16You will note that Dreamweaver CS5.5 shows a very targeted list of window sizes,
05:22including those for tablets and phone.
05:25This feature is not available in CS5.
05:27However, you can use preferences to create a similar list.
05:31Just choose Edit Sizes at the bottom of the list.
05:34So let's go ahead and try our tablet.
05:38There is our green background color.
05:40So it looks like that's working.
05:42Now, let's give the phone a shot, and there is our yellow background.
05:48Nothing else has changed, of course.
05:50So you would have to do an awful lot of scrolling to see it in
05:54this configuration,
05:55but we will get to making those modifications shortly.
05:57Now, let me go back to Full Size, and I want to show you that you can also just
06:04grab the corner, and resize the window.
06:07In order to move out of Full Width mode, and make our window resizable, I am
06:11going to click the Window gadget in the upper-right, and now I should be able
06:14to resize the window.
06:16And as I reduce the sizes of window, once I get to 768 pixels, the media query
06:22for tablet kicks in, and my background color shifts to green.
06:25Now, let's keep going, and you can watch the status bar here.
06:30There is the dynamically changing window size.
06:33So when I get to 320, it's working exactly as it should, and we have this
06:38lovely yellow background.
06:40So let me expand the window one more time, and you will notice, up on the related
06:45file bar, that I have two style sheets;
06:47the first one is my TPA theme style sheet, and the second one is the style sheet
06:54for my child template, mobile.
06:56So we can click on that, and we are just going to go ahead and remove these colors.
07:00We'll leave the outerWrapper properties, because we will be using those later,
07:07and now we are ready to start adding actual styles to our @media statements.
Collapse this transcript
Changing tablet styles
00:00Restyling a Desktop design to fit the tablet form factor is, relatively speaking,
00:05pretty straightforward.
00:07A tablet in portrait mode is typically about one third the width of the
00:10corresponding Desktop design.
00:12To make this adjustment, you generally have to alter just a few key CSS rules,
00:18like those affecting the overall wrapper, as well as any content columns.
00:22Depending on the design, you may also need to slightly scale back the text size,
00:27as you'll see with our example.
00:29Let's change the window size to Tablet, and then work our way from the outside in,
00:35starting with the body.
00:37So, I'm going to click on style.css, which you'll recall is the style sheet for
00:42our child theme, and within the @media statement for tablet, I'm going to put one
00:47rule up above our existing outerWrapper rule, and that's a rule for the body.
00:54So let me enter in the body selector.
00:56And I want to change the font size here.
01:00Currently the font size is 1.2ems, with a line height of 1.4em, and that's just a
01:07little bit too hardy, shall we say, for the tablet, especially in portrait.
01:12So let me go ahead and reduce those a little bit. I'll make it
01:16font-size 1em, and then line-height 1.2em.
01:20Now, you can see an immediate effect
01:24if you just click into the document window, so this way, you can kind of go
01:28back and forth between previewing your document, and the style sheet that you're working on.
01:34All right!
01:35So we're ready to change the outerWrapper, and this will control the overall width.
01:40I'm going to give it a width of 688 pixels, because I want to have some of the
01:45sky area appearing around it.
01:47So within the outerWrapper, let's make the width 688 pixels, and now if I click
01:54in here, again, an immediate effect. You also begin to see some of the
01:58problems that you're going to have to deal with, like the navigation bar.
02:02Now, if you're not sure what the CSS rule is that you need to work with, you
02:06can always turn on Inspect mode, and then go down to the area that is giving you the problems.
02:13I'm going to hover over planets, here, and then press my left arrow key, so I can
02:19go up the DOM a little bit, and see as it highlights different elements,
02:24that's the one I want, it looks like.
02:26It's the nav tag, with a class of mainMenu; you can see that down in the tag selector.
02:32So, we are going to go ahead and just click on that to lock that in, and then
02:36expand my CSS Styles panel, and let me bring open the Properties pane here.
02:41So you can see, down at the bottom my nav style is selected, so that's the one
02:46I'm going to need to change.
02:48Now, this is the one;
02:49if I hover over it, you can see that it's defined in style.css,
02:55and currently, the width is 960, so let's bring it into the same width as my outerWrapper.
03:02So I'll go back over to the stylesheet, press Return, and then nav, the HTML5
03:09tag, open curly brace, and let's give it a width of 688 pixels, as I said, and
03:18I'll close that down.
03:21And now when we click in, it moves right into place.
03:24Now, you'll notice that the text in the nav bar is pretty sizable.
03:28I think we could actually scale that back a little bit, especially since we've
03:31scaled back the other text.
03:33So, if you're not sure what that is, again, click on Inspect, and let's just go
03:39ahead and click on one of the navigation elements there.
03:41Now we'll open the CSS Styles panel, and you can see in the Summary section up
03:47here, it will show us all the basic properties, and it looks like its inheriting,
03:53and it's set at 1.2-1.4.
03:56So, let's open this up just a little bit more here, and I'm going to click into
04:04the Rules panel, and then just walk up it until I get a text size;
04:10there's my font-size 100, and looks like it's going to go all the way to the
04:17top, and yes, it does.
04:21So, it is coming in at that larger size.
04:25So I'm going to go ahead and reduce this to 24 pixels, enter in a font-size
04:32property, and then when I click in, my font size of my navigation items are
04:39reduced; looking a little bit better there.
04:43Next, as I kind of scroll down the area,
04:46you can see that I've got a pretty significant issue here, where it looks like
04:51one of my wrapper elements is extending a bit too far, and it's not the content
04:57area; seems to be the contentWrap.
05:00So, if I click there, and then go to contentWrap, it might have a margin that's
05:07being applied to it,
05:08so let's zero out that margin, and again, I'll go to Code view, and let's do
05:14#contentWrap, and set those margins to 0.
05:25Okay, looks like we have a cumulative issue here.
05:28Next, I'm going to change the content area, which is way too big.
05:33If I expand this whole panel here, it's going to cut off a little bit of our
05:39document window, but sometimes it's easier to work with it this way, and we'll
05:42close down the Files panel.
05:43So, again, Inspect, and I'll hover over some text, and then use my left arrow key
05:50to go up the DOM, and there is the content that I want to work with.
05:55I can see now, the width is set to 700 pixels.
05:59That's a little high for a tablet, so let's reduce that to 478 pixels.
06:06After putting in my content selector, I'll put in the width property, set to 478
06:13pixels, and semicolon to close that off.
06:15And now let's also get rid of the margin-right property, which was
06:21previously set to 50.
06:22So, I'll make that 0, and then enter in the closing curly brace.
06:28Okay, so now when we click into it, things are looking a lot better.
06:33Let me just go to Design view for a second, so we can take a look.
06:36It looks like that combination of the contentWrap, and the content itself, were
06:43causing a major issue for the tablet, but now things are looking pretty good.
06:47It looks like the sidebar, or the widget area, could use some attention.
06:51So let's take a moment to inspect that, so we can see what rules apply here.
06:55So, I will click on Inspect, hover over Recent Posts, and then again, walk up the
07:00DOM with the left arrow key, and there is my widget area.
07:05I can see that there's a margin- top of 20 pixels, and that's fine.
07:08I can see that it keeps it lined up. That looks good.
07:11However, the width is too close to the content area, so let's reduce that
07:15width from 220 to 180.
07:19So again, I'll click on style.css, and that opens this up into Split view, and
07:24then create a new rule for the widget- area class, and we'll set the width to 180
07:33pixels, and click over here to see how that looks.
07:37Yeah, that gives us a little bit more room.
07:40Now, as I scroll down, it looks to me like the links are a little too prominent,
07:45so I think I want to dial back the font size, and let's make those 1em.
07:51As you're working your way through a design like this, you can really use
07:55Dreamweaver interactively in order to see what looks good, and what doesn't look
08:00good, and make adjustments as you go.
08:02Okay, that looks a lot better.
08:04Although, it looks like our headings, which I believe are h3 tags -- I
08:08select that, and I can see down in the tag selector that it is an h3, and also
08:12in the Styles panel.
08:14So, that's also a little bit too big, so we'll bring that down, as well as the
08:20links that we see here.
08:21We've got to do a little bit of work here in order to get everything in line.
08:26I'm going to group a number of selectors together, because I'm going to
08:28set everything to 1em.
08:30So first I'll target the widget- area h3s, and then I'll go after the
08:36widget-area anchor tags, and finally the widget-area paragraph tags; that
08:43should cover all the bases.
08:45So, we'll do an open and a close curly brace, and then in the middle of it, set
08:51the font size to 1em. All right!
08:53Let's see how that looks.
08:56Everything is coming together a little bit better.
08:59Let me go back into Design view, and I'll scroll all the way down.
09:03There's an image that's not being read in properly.
09:07It looks like the width of the footer is just a bit too large there, so
09:13let's add one last rule for the footer tag, and we'll set that width to the same
09:22as the other dimensions: 668. Okay.
09:24* I'm going to save my page. Head back into Design view.
09:33It looks like the width of the footer didn't change noticeably, but it will now
09:37hold that width when we go into Landscape.
09:40So, let me close this down to give us a little bit more room.
09:44So that's it. Just nine rules to restyle a Desktop design to fit of tablet in Portrait mode.
09:50But what happens when we switch to Landscape?
09:53Well, let's give it a whirl.
09:54We will go over to window sizes, and choose Orientation Landscape.
09:59Because the width is now 1024 pixels, which is greater than our 768 breakpoint,
10:05the styles applied are those of the Desktop.
10:08You'll notice the larger font, and the larger width.
10:11However, you can quickly fix that situation.
10:14Let me show you how.
10:15Let's open up, in Code view, our style.css, and I'm going to go all the way up to
10:23the @media statement.
10:24Now I'm going to add another media query to the same @media statement.
10:29I'll put my cursor right after the close of the last one, enter a comma, a
10:35space, and then the keyword, screen, and, in parentheses, min-width of 321
10:43pixels, another logical and, another open parentheses, and now we'll put in
10:50the maximum width of 1024 pixels, and that's the maximum width of the tablet when
10:55it's turned in Landscape orientation. Close the parentheses, one final
11:00logical and, and one final parameter in parentheses, and that is
11:05orientation:landscape.
11:11Okay, let's save our file, and now let's switch to Design view, and there's
11:16our Landscape view.
11:18Now, I can switch back to Portrait, and you can see, it's basically the same
11:24thing. In Landscape,
11:25you just get a bigger view of the star field behind it.
11:29Now, of course, you could go ahead and break out that media query for the
11:34Landscape orientation, and do completely different values; that's up to you.
11:38Now, some may argue that the changes to a tablet are not that significant, and
11:42not really necessary.
11:44After all, most tablets automatically reduce the page to fit the screen. It
11:48really depends on how much width your Desktop designs take up.
11:52If you're still designing for an 800 pixel width screen, then it may not be
11:56worth it, but if your designs have taken part in the expanding monitor width
12:01trends of recent years, your tablet carrying site visitors will greatly
12:05appreciate the extra effort.
Collapse this transcript
Optimizing styles for phones
00:00Taking a Desktop design, where a screen size of 1200 pixels is considered to be
00:04medium, and retrofitting it to a phone screen, where the norm is 320 pixels, is
00:10almost the very definition of major overhaul.
00:14This is true, especially in comparison to the Desktop to tablet conversion.
00:19To my mind, the key goals are accessibility and readability.
00:23In this movie, we'll target four main areas: structure, navigation, text, and
00:29user interaction, with 20 different CSS rules designed to meet those twin goals.
00:34I have open, now, my index.php file.
00:38We're in Live View, looking at the Tablet View at the moment.
00:42So, let's switch to Phone;
00:45I'll choose the 320 by 480, and then let's open up our style.css file.
00:51Remember, we have two of them here now; one that comes from the mobile folder,
00:56and the other one from our tpa folder.
00:58We want the mobile folder,
01:00so I'll go ahead and select that.
01:01Now I'm going to expand the panels over here, and let's collapse the Files
01:08panel in order to give the CSS Styles a lot of room, and then let me open up Split View.
01:15One of the great things about working with the Phone window size is we have got
01:19a lot of room to operate here. Okay.
01:21Now, there are some CSS rules that I'm going to want to carry over from the ones
01:26I've already done for the tablet, including the body.
01:29So, I'm just going to go ahead and copy that, so we can have the same
01:34font-size and line-height, and then scroll down to where my media query for the
01:39phone is, and paste it in. Okay.
01:42Now, we're going to need to do a fair amount of work with the outerWrapper.
01:45So, I'm going to put my cursor inside of the existing outerWrapper.
01:49Let me scroll down a bit, so you can see it more easily, and the very first thing
01:54I want to do is get rid of the top margin that we see up above here.
01:58We have about 50 pixels of margin there, just to give a little bit of space visible.
02:02We don't have the luxury for that, given the smaller phone screen real estate.
02:06So let's set margin to 0, and we'll keep it centered; auto.
02:11Now, I know I want to give it a very specific width,
02:14so I'll enter the width property, and give it a width of 320 pixels.
02:20We can maximize that area.
02:22Now, the next thing I need to do is to change the background of the outerWrapper.
02:27If we go over to our CSS Styles panel, and click Refresh, we can see that the
02:31start of our CSS Rules have taken place.
02:34Now, if I use the Inspect mode, and then go to the outermost edge here,
02:40there's my outerWrapper.
02:43So, I'll just select that, because I want to point out, in the Rules section, we
02:47now have two outerWrappers defined, and they're both in style.css.
02:52Dreamweaver does not identify the path to that,
02:56so you need to actually click into one of them to see which it is.
02:59This looks like the one that we just defined for the phone, and if I click on
03:04this one, here is the other one that is the inherited one.
03:08You won't see the styles for the tablet, because of the window size that
03:12Dreamweaver is now using. All right.
03:15There are a fair number of styles here,
03:17so I think what I'm going to do is right-click on this outerWrapper entry, and
03:22then choose Go to Code, which will go to the code in my TPA stylesheet.
03:27I'm going to select the remaining properties -- padding, background, and so
03:31forth -- copy those, and then let's head back to our mobile stylesheet, where I can paste them in.
03:41And let me tab them over, so everything is lined up nicely, and give ourselves a
03:47little bit more room to work with.
03:48So now, when you copy styles from an existing stylesheet, you will find that
03:54there are some that you want to change, and others you just want to leave alone.
03:58In this case, I do want to keep some padding in the inside of my outerWrapper,
04:02so I'm going to go ahead and leave that default value in the TPA stylesheet.
04:07The background, I actually want to change quite significantly.
04:10I'm going to add in a smaller logo, rather than the large logo that we see here.
04:16So I'm going to go ahead and click Refresh, and when I do that, I can choose Edit
04:21Rule from the bottom of the CSS Styles panel.
04:24I like to do this for working with background images, because it's a lot easier
04:30to navigate and find your files.
04:32We'll leave the Background-color white, and click Browse to locate my files.
04:37I want to go into my themes folder, into the tpa folder, and then within the
04:42images folder within that, and choose a revised logo that I've set up called tpa_logo_small.
04:50Click OK.
04:51Now, we don't want this to repeat of course.
04:54So, I'll choose no-repeat.
04:56And we do want to center it at the top.
05:02Click OK. So now you can see the large older logo, and the smaller new logo behind it.
05:07We'll get rid of that large logo in just a minute.
05:10I do want to finish up a couple of things here.
05:13Now, you'll notice that I have a number of border radiuses set to 2.25em.
05:19I'm going to zero all of those out, because I don't want any curves now in this design.
05:28So, let me save the file, and then just click back for a moment, and hit Refresh.
05:34And it's kind of a subtle, but there was a curve element that was there, and now that's gone.
05:39Now let's go ahead and get rid of the large image that's here in the header,
05:43and I don't need to do any inspection for that, because I know that it's in the
05:48header tag, and it's a background image, and I can get rid of it by just setting
05:52background to none.
05:53Now, you'll notice that there is also a little bit of padding here, and I want to zero that out,
06:00so I'm going to choose padding-top, and enter 0 for that.
06:05We'll save that file, and let me click back over, and click Refresh, and after
06:11clicking Refresh, our large logo is now gone, and we're ready to move on to the next area.
06:17After the header, comes the content area, and there is a contentWrap rule, where I
06:23want to set the margin to zero.
06:25So, let me just go ahead and enter that in.
06:27You can also copy this from the tablet section if you wanted;
06:30we did this same thing there.
06:33Now it's time to work with the content itself a little bit, and that's all
06:37contained in the div, with an ID of content.
06:41You'll recall that it was floated to the right.
06:43We're going to get rid of that by entering a float: none.
06:47We also need to change the width.
06:49I'll set the width at 300 pixels, and let's zero out the margin.
06:54You can see we're just trying to optimize the space here as much as possible, and
06:58set the padding to 0 on top, 10 pixels on the right -- and that's because there is a
07:04scroll bar that appears, and I don't want to have my text go into that -- and then 0
07:10on the bottom, and 0 on the left.
07:13Okay, let's save that, and then click into our document window, and press Refresh,
07:19so that we can see that things are now beginning to shape up a little bit.
07:23If we go down further, past the articles, we'll start to come to the sidebar
07:27portion, and we can see that that needs a little bit of work as well.
07:31So, I know that my sidebar is contained within the div with a class of widget-area.
07:40So, I'll enter in a rule for that.
07:42So, now I'm going to add some padding to move it away from the edge,
07:47and then I also want to differentiate it a little bit,
07:50so I'm going to give it a light Background-color. Let's give it a -- well,
07:55let's say a CCC color there. All right!
07:58Let's see how that looks.
08:00Click Refresh, and scroll back down. All right!
08:04That's not bad.
08:05Now, I notice as I'm scrolling through here that I have a number of links, and
08:11they all have this bottom border here that's dotted. I don't think it's
08:15really working here,
08:17so I'm going to get rid of it.
08:19I'll enter in p for paragraph tag, and then an a:link, comma, p a:visited, comma, p
08:28a:hover, and finally p a:active. And we'll clear out the bottom border by setting it to none.
08:39One last element in our structure section, and that's for the footer.
08:45Now, you'll notice that the footer kind of extends all the way to the edge, and
08:50it's pushing the outer limits of what's going on here,
08:52so let's go ahead and adjust that.
08:55I'll enter in footer, and we'll give it a width of 280 pixels, and then let's
09:05Refresh, and there is my narrower footer margin.
Collapse this transcript
Optimizing navigation for phones
00:00Continuing from the previous movie, we are going to work on navigation next.
00:04It's important to keep in mind that mobile screens are a pointing-centric
00:08device, not a mouse-centric one, and that fingers are just a tad bigger than
00:13tilted wide arrowheads.
00:15So, in our navigation section -- which I am going to label here, just to make it
00:22easy to find -- if we scroll up to the top of the document, you'll see that that's
00:28one of our major problems: that the nav bar is quite enormous.
00:32So let's go ahead and bring the nav tag down to 320 pixels,
00:38so I'll set that width at 320.
00:41Now, I want to do a fair amount of styling here.
00:44I want to reverse the colors, so we drop out the heavy blue background, and I also
00:49want to get rid of the rounded corners.
00:51So let's make the background-color white, which is triple f in
00:59hexadecimal, and the color, we'll set to blue.
01:05Now, I need to bring it down some, so I am going to add a margin-top of 40 pixels,
01:12and then also get rid of all of the border radiuses.
01:17So there are three rules that govern the border radiuses; two browser specific
01:21ones, and then a generic one. So let's zero out the browser specific ones first.
01:26I'll start with Mozilla. You do hyphen, moz, or you can use code hinting there. And
01:34then we are looking for a border-radius, so I'll start to type border, and hyphen, r. That
01:39brings us to close to radius, so I can use my code hints, and we want to set that to zero.
01:44So I am going to actually just copy this, and paste it twice more, and then I'll
01:50change moz for the first one I pasted in, to webkit. And then, for the generic
01:57rule, I'll just get rid of hyphen, moz, hyphen.
02:01Okay, let's close out the rule; I'll save that.
02:05Now let's go back. Click Refresh.
02:08Okay, we got rid of our corners, and we started to get rid of
02:11the background color.
02:12We've got a couple of other rules that are still affecting that, so let's keep going.
02:18Next up, we're going to continue to drill down, and now we'll work on the
02:22unordered list that's within the nav. So nav, unordered list.
02:27I generally work from outside in, and here we are just going to zero out the
02:32margin, and set the width to auto.
02:38Next in line is the list item that's within the ul tag.
02:42And I figure a faster way to work would be to go find these.
02:47So now we start to see some changes.
02:50I am going to go ahead and click Inspect, and then click on one of these list items here;
02:55make a little bit more room.
02:59And here's the list item that we are looking for.
03:03I am going to go to code here.
03:05And one way that I've found is pretty efficient is, if you've got a lot of rules,
03:10especially in the navigation section, rather than writing them out one at a
03:13time, go and copy the ones that are in the parent stylesheet, and then move on
03:19over to the stylesheet for the child theme, and paste them in.
03:23And now let's go ahead and make some corrections here.
03:26So some of these properties I am going to keep and others I'm going to change.
03:31The ones I'm going to keep as active, I can get rid of.
03:34So we still want our elements to float left, so I am going to go ahead and get rid of that.
03:41The width I am going to set to auto.
03:43Text-alignment, we want to make left, and then I have a few other properties
03:50that I need to add.
03:51The first is font-size.
03:52We really need to shrink this down a bit,
03:55so I am going to make the font-size .6ems, and because I want it to appear
04:01straight across, I am going to add a white-space property, and set that to no wrap.
04:08Now, before I go on to work on the a:link and a:visited rule, I am going to add
04:13one more rule in here that will target the anchor tags in general.
04:18So it'll be nav ul li a, for anchor tag.
04:23And here, I want to set the width of the elements, so I am going to set it to 60
04:28pixels, and a small margin-right of 10 pixels.
04:35Let's Refresh the page, and see where we are at.
04:38Okay, things are starting to take shape here.
04:40You can see that we still have background and foreground color issues, and
04:44that's because we have those colors defined here in the a:link, a:visited,
04:49a:hover, and a:active rules.
04:51So, we'll adjust those now.
04:53First, I am going to change the line- height from 40 pixels, instead of that big
04:57thick bar. Let's just make it 1.2ems, which is more text oriented.
05:02We'll keep display-block, so I can go ahead and remove that from my @media statement.
05:07We want to reverse these colors, so instead of the color being white, we are
05:12going to make it blue.
05:13And instead of the background-color being blue, we'll make that white.
05:18I do want to keep the text-decoration at none, so we'll remove that redundant rule.
05:23Now for hover, I'm going to use a warm red that I have as the background-color
05:28here, so that's D32020, and I am going to set my background-color to white.
05:35All right, let's take a look; see how that's coming along.
05:39So there is all of our navigation styles applied.
05:42Looks like we've still got a little bit of work to do with naming menu items up
05:46here, but otherwise, it's looking pretty good.
05:48Let's work with the text next.
05:51Text on a mobile screen is often smaller than text on our tablet or Desktop, but
05:55it can't be too small, or you'll sacrifice readability.
05:58So, after the navigation rules, I am going to reduce the h2s, h3s, as well as
06:05the paragraphs, just to bring everything down a notch.
06:08So I am going to start with the h2s, so we'll enter in a h2 rule, and change the
06:13font-size to 1.25em, close that off, and now how about the h3s.
06:22The h3s are used in the sidebar. We want those to be even smaller, and we'll make
06:29them just 1em, and they are also bold, so if I scroll down a little bit, you'll
06:34see that they're pretty hefty there.
06:36So let's take off their boldness, and make the font weight normal.
06:42Okay now, close out that rule, and finally, I want to actually bring down the
06:48paragraph text-size as well.
06:50Right now, it's at 1.2em, and I am going to bring it down to .8.
06:56So we'll click into Code View, enter a paragraph rule, and change that font-size to .8em.
07:04Now, I want to make sure that I target all of these, so within the entry -- that is,
07:11the post -- there is another paragraph tag.
07:14So I want to change the margins. As you can see, I've got a fair amount of margin
07:18space; let's see if we can target that.
07:20I know that those are within the entry tag. If you are not sure, you can always
07:24click within it, and you'll see, down at the tag selector, the enclosing tag.
07:29You could also use Inspect, of course.
07:32So, back to Code View, and we'll do div .entry, comma, div.entry p, for paragraph, and
07:42let's set the margin to zero all around, and the padding to 5 pixels on top, and
07:50zero left and right.
07:51Okay, I'll make sure that I am still within the media bracket.
07:56And now let's click over, hit Refresh, and things are tightening up very nicely.
08:01Finally, we need to take a close look at the user's primary conduit for
08:05interacting with the site owner, and other site visitors: forms.
08:09Forms play a big part in the WordPress world, particularly when it comes to comments.
08:14A lively blog, filled with reader reaction and interactions, is a joy to behold,
08:19and a tremendous traffic driver.
08:22To affect that, I am going to enter in some code to target the commentform ID.
08:27So I'll go to my stylesheet, and enter in a hashmark (#), and then the ID of
08:33commentform. This is a standard WordPress ID. And I want to target the label
08:40there, and now I'll enter in a display: block rule, and this will force all the
08:46labels for the commentform on top, and on a separate line from the input items.
08:52Let's close that out.
08:53And then the other area that I want to target is the textarea.
08:57So let me go ahead and enter in commentform again, textarea -- that's the tag --
09:05and let's set the width to something that will fit within our screen size: 280 pixels.
09:12Okay, I am going to save this, and then toggle Live View on and off.
09:18Now, as we scroll down, everything is looking pretty good.
09:21Let's go ahead and go into one of the pages here.
09:24I am going to hold down the Control key, so I can navigate to Saturn Ring Organizer
09:28Wanted, and then scroll below it, and here you can see the results of my
09:33comment form manipulations, where now the labels are below the form elements and
09:39my text area fits really nicely.
09:42Everything seems to be working well, and now we have a complete design scheme
09:45for multiple screens.
09:47Of course, your design choices will be different, but now you have the tools for
09:51retrofitting a Desktop design for the emerging mobile world.
Collapse this transcript
3. Implementing a Full Mobile Redesign Strategy
Understanding the technique
00:00In the previous chapter, we covered a technique for taking an existing
00:03WordPress Web design intended for the Desktop, and retrofitting it to tablet and phone screens.
00:10But happily, new WordPress Web site designs are needed every day.
00:14So how do modern Web designers react, knowing from the beginning that a multiple
00:19screen strategy is a requirement?
00:21In this movie, we'll explore the answer to that question a bit, and explain the
00:26technique that is detailed in the remainder of this course.
00:29Two guiding principles for Web professionals have emerged in recent years:
00:33responsive Web design, and mobile first.
00:36Responsive Web design is a concept intended to tackle the challenge presented
00:40by the proliferation of Internet capable devices, and their accompanying varied screen sizes.
00:47The first serious argument for responsive Web design came from an article in A
00:52List Apart by Ethan Marcott, which you can find at the URL listed here.
00:56There are two main aspects to a responsive design, and they work together hand in glove:
01:02fluid grids, and media queries.
01:05A fluid grid responds to the browser window size; the columns of the layout
01:10expanding and contracting with the screen width.
01:13Here's Ethan Marcott's example from an article for A List Apart on fluid grids.
01:18Watch how the layout reacts as I shrink and expand the browser window.
01:22As good as they are, fluid grids have their limits.
01:25If you contract them too much, the percentage values the column widths are
01:29based on fall apart.
01:31That's where the second part of responsive design equation comes into
01:34play; media queries.
01:36As we've seen earlier in this course, media queries allow CSS stylesheets to be
01:41conditionally applied.
01:42Typically, device screen width is a primary condition that triggers a media
01:47query to take effect, and apply a different stylesheet.
01:50In the Setting up Media Queries movie in this chapter, we'll create a number
01:55of media queries, and link tags, rather than the @media statements as we did in Chapter 2.
02:01Responsive design has led to responsible design, and the desire to tackle
02:05the notable problem that exists when retrofitting Desktop designs to work
02:09with tablets and phones.
02:11If your CSS uses the Desktop design as the starting point, with a large-scale
02:16background image, browsers will still download that image, regardless of the
02:20screen, and which media query driven stylesheet is being used,
02:25so that, effectively, any time you're looking at a phone that has such a
02:29background, the larger background, even though it isn't used, is still
02:33downloaded to your phone.
02:34This obviously slows mobile site's rendering time, and negatively impacts on
02:39resource management.
02:40A better approach is to structure your CSS styles with a base of core
02:45components, primarily text, and basic structure, and save the background imagery
02:50for media query specific styles.
02:52We'll follow that approach in the upcoming movies.
02:56This leads to our final corollary for responsive design.
03:00Web sites should also be responsive to the viewers needs.
03:04In the Targeting Configurable Site Elements movie, I mentioned the concept
03:08of responding to how the Web site was being used on different screens.
03:12You might remember the very responsive example, glue Isobar, and how radically it
03:17shifted design and focus from Desktop to phone.
03:21We'll also incorporate that principle into the look and feel of our mobile phone design.
03:25Now that you understand better where we're going with the full mobile design
03:29strategy, you're ready to get started with creating the necessary media queries.
Collapse this transcript
Setting up media queries
00:00In standard HTML Web sites, Dreamweaver's media query feature is pretty
00:04much plug-and-play.
00:06You plug in the values you want, and Dreamweaver outputs the code you need.
00:10It's not quite as easy as that with a WordPress site, but we can still leverage
00:15Dreamweaver's coding prowess to do most of the heavy lifting for us.
00:19We'll be using a different theme for the remaining chapters of this course.
00:23Let's go get it, put it into our Dreamweaver site, and activate it in WordPress.
00:27So I'll use Windows Explorer to go my Exercise Files > Chapter 3 > 03_02, and if
00:35you'll right click on tpa2, and copy the files, and then we need to go back to
00:41our site root, which we can find here in the C:
00:44wamp folder > www folder, and I'll click our site, and drill into where our
00:50themes are maintained.
00:52So again, I'll right click, and paste, and there is my new theme.
00:57Now let's head over to WordPress to activate it.
01:00To activate a new theme, go to Appearance > Themes, and our current theme, you see,
01:05is TPA Mobile, but among the available themes is TPA 2.
01:10So that's the one we want to activate; click that link, and we're good to go.
01:15Now let's head back to Dreamweaver.
01:17The reason we can't use media queries straight out of the box is because
01:21WordPress themes require the integration of PHP code that call specific
01:27WordPress functions in order to properly link to their own stylesheets
01:31within the theme folder.
01:33But with the help of a temp file, we can use Dreamweaver to get us most of the
01:37way there, including creating a series of stylesheets for us.
01:41So I am going to open my Files panel, and if you don't see the new theme folder
01:46that we put in there right away, just click Refresh, and it will appear.
01:50Now I am going to right click on tpa2, and then choose New File, so we can create
01:55a file within that folder, and I'll rename it temp, and then open it up.
02:02Okay, we're ready to jump into creating our media queries, and you start that by
02:06going to Multiscreen Preview, and then click the Media Queries button.
02:12Again, CS5 users won't see a dialog box with this many options,
02:17but you can still get Dreamweaver to generate most of the code for you.
02:20The rest of it, you can code by hand.
02:22Okay, so we want to write our media queries to this document.
02:27We definitely want to have Force devices to report actual width selected, and now
02:32we want to create the actual media queries.
02:35Now, we could click the Add button to start the process, but a much more
02:38efficient way to go is to click Default Presets, and once you do, you'll see a
02:43separate Media Query for Phone, Tablet, and Desktop.
02:47Now you need to tell Dreamweaver where to point that media query.
02:50So let's start with Phone, and we're going to create a new file, and that file is
02:55going to be called style_phone.css.
03:01Press Tab when you're done, not Return, so that you can continue to assign files.
03:06Click Tablet, and now we'll name that one style_tablet.css, press Tab, and finally Desktop.
03:17Now, I've taken the liberty of going ahead and creating a Desktop file for you,
03:21because it only has one rule, but it is an important one, because it holds the
03:26large background image that will only be downloaded and displayed when the site
03:31is viewed through a Desktop.
03:32So instead of Create new file, choose Use existing file, and then click on the
03:38Select File icon, and select style_desktop from the tpa2 folder. Click OK, and OK once again.
03:47Dreamweaver will ask if you want to save the changes to your temp file; click
03:50Yes, and now there is the start of our media query.
03:54Now, you won't see anything up top in the two media query previews, because there
03:58are no styles there.
04:00Let's go ahead and close this dialog box, and go to the next step.
04:04As is, this code is perfect for an HTML site, but we need to massage it a bit
04:09for inclusion in our WordPress driven site.
04:12Now, the easiest way to do this is to copy this code, put it in the
04:16header.php file, and then use some of the PHP code that's there to integrate it into this code.
04:24So let's copy our Phone, Tablet, and Desktop links.
04:28I am going to go ahead and include the comments as well.
04:32I'll copy that, and then open up the Files panel, and in the tpa2 folder -- make
04:39sure I am in that same folder; yep -- I will double-click on header.php; close the Files panel.
04:46Now here on line 17, you see the one link to the standard stylesheet, with the
04:52PHP specific code in it, pointing to the stylesheet_url.
04:56Let's paste in our copied media queries, and now let's pick up that PHP code, and
05:02use it to bring these other links into WordPress compliance.
05:06So I am just going to copy that entire PHP block, and now in front of the href
05:12for the Phone media query, I'm going to paste it in, put a forward slash, and
05:18then change stylesheet_ url to stylesheet_directory.
05:23So let's go ahead and copy that entire PHP code block, and the forward slash,
05:30and put it in front of style_tablet.css, and then once more in front of style_desktop.css.
05:38Now, I have one more snippet of code to get from my temp file; let's head back there.
05:44And I want to pick up the meta tag that you see here on line 5, so I'll just
05:51select that, and copy it, and then bring it over to header.
05:55And I am going to put it right after the charset meta tag,
05:59but there is one more thing I need to do here, and that's to add a second
06:03parameter to the viewport meta tag.
06:06So put your cursor after content, and then comma, and then
06:10type initial-scale=1.
06:11As I explained before, this controls the zoom level. I've found that it's
06:18necessary to add this bit of code, particularly when you're trying to bring
06:22orientation into the equation. Let's save our header.php file.
06:27Okay, coding is all done, but how do we test?
06:30Let's temporarily add some simple CSS rules to the Tablet and Phone stylesheets,
06:36so that we can feel secure that our media queries are working correctly.
06:40So back to the Files panel, and scroll down a bit until you see
06:44style_phone.css. Open that one up.
06:49Now, I am going to just put in a very quick rule for the outerWrapper, which is an
06:55ID that I use pretty much in all of my sites, and I am going to set the
07:01background-color to, let's say, yellow. All right!
07:04Let me copy this, and let's save that file before we open up the next one.
07:10Back to the Files panel, double-click on style_tablet.css, and put your cursor
07:17after the charset declaration, and paste it in.
07:20Now let's swap the color from yellow to green.
07:25Again, save the file.
07:27So now we are ready to actually take a look at this using the Media
07:31Queries Preview dialog box.
07:33In order to do so, we need to work with index.php from the site root of the
07:38WordPress site, so in my files panel, I'll go down, and double-click on
07:43index.php. Switch over to Design View, and let's just see how it looks in Live
07:49View; there is the site.
07:52Now let's go ahead and open it up into Multiscreen, and there are our three designs.
07:57Everything is the same, except for the background color. Of course, with Phone, and
08:03Tablet, there are certain things being moved around, especially with the Phone,
08:07because of the smaller size.
08:08It looks like we've got our traffic routing media queries in place.
08:11You are ready to move on to setting up for adaptive images.
Collapse this transcript
Preparing for adaptive images
00:00I've got good news, and bad news.
00:02The good news is that browsers have gotten much better at rendering images in
00:06smaller sizes when the browser window is reduced.
00:09Images are sharper, and there is much less loss of detail and fuzziness
00:13than there used to be.
00:14The bad news is that browsers still download the full size image at the full
00:19file size, regardless of screen dimensions,
00:21which means slower downloads, increased bandwidth cost, and wasted device resources.
00:27But wait; there's better news.
00:29A PHP-based technique has emerged, called adaptive images, which scales graphics
00:35on the fly, and caches them for small screen use.
00:38The best news: there is a WordPress plug-in you can install to put this
00:42great technology to use.
00:44The adaptive images technique was developed by Mike Wilcox, whose site,
00:49adaptive-images.com, has all of the details, as well as code you can download and use.
00:54Before we look more closely at the benefits of using adaptive images, let me
00:58break down how it works.
01:00First, a device requests a site page where there is adaptive image
01:03functionality in place.
01:05The application creates a cookie, using JavaScript, to store the device resolution.
01:10The .htaccess file is set up to redirect image requests to the
01:15adaptive-images.php application.
01:18The application, in turn, pulls the resolution from the cookie, looks to see if that
01:23image has already been created, and is stored on the site, and if it's not, it
01:27rescales the image dynamically, and saves it for later use.
01:31Then finally, it sends that image to the user's device.
01:35I think it's a sophisticated, well thought out strategy, but is it overkill?
01:39Let's look at some numbers.
01:41On the Adaptive Images site, if you scroll down a bit, you'll see the example in
01:46action, and here is what happens with some of the larger files.
01:50So let's assume that your site has a relatively large image; as you see here,
01:54that's 200KB in the RAW, and you can see the values over on the right-hand side,
01:59how much the file weight decreases, all the way down to 30KB for a smart phone in Landscape mode.
02:05Here is another example; while it's not quite as dramatic, it's still noticeable,
02:11going all the way from 82KB down to 14.
02:13And then finally, here is a nice winter scene with a maximum of 138KB, all
02:20the way down to 20.
02:22While the Adaptive Images application is not extremely difficult to install in
02:26a standard site, it's pretty hairy when it comes to integrating into a WordPress site.
02:31Wonderfully, a developer named Jorgen Scott has created a plug-in that handles
02:36all the coding chores.
02:37You can get more info at his site, wpresolutions.co. While it's still in Beta,
02:43I've had very good results from using it.
02:46Let's just install the plug-in, and get ready to put it to work.
02:49From the Dashboard, go to Plugins > Add New, and search for wp resolutions.
03:01When the search results return, click Install Now, under WP Resolutions. Click OK,
03:09and then once it's installed, click Activate.
03:12Now, you'll notice when you look at the entry in the Plugins page that there
03:16are some settings. Click that link, and here you see the paths that are set up to Watch.
03:23Now, by default, there is an entry there for your uploads, but what about the
03:27graphics themselves that are on the site?
03:29Well, we can go ahead and add another path.
03:31So I'll put my cursor in the box at the end, and hit Return, and then enter in
03:37the path following the model of /wp- content/themes/tpa2/images, and then click
03:50Save Changes, and it looks like we're good to go.
03:53We've covered any images that are uploaded, and any graphics we have in our design.
03:57Now, we won't have a chance to try out the new plug-in until later, but
04:01we're prepped, and ready to rescale images on the fly, and keep our
04:04bandwidth usage under control.
Collapse this transcript
Working with changes in orientation
00:00Call me silly, but I still get a little thrill whenever I flip my phone
00:04or tablet from portrait to landscape, or vice versa, and the display smoothly rotates.
00:09It's great for the user, but how does a Web designer handle changes in orientation?
00:15Frankly, it's been a bit of a rough road, but the dust is beginning to settle, and
00:19standard techniques are emerging.
00:21For a while, designers were relying on the viewport meta tag, with specific
00:26device width values, like 320, or 768, to create proper media queries for
00:33changes in orientation.
00:34Unfortunately, this approach fails when certain devices -- namely, the iPhone -- report
00:40the same width, regardless of the orientation.
00:42What was worse; those same devices didn't support the orientation keyword.
00:48Happily, browsers have stepped up, and now support for orientation is getting
00:52better, although it's still not totally universal.
00:55One approach, other than using the orientation keyword, is to use a combination of
01:00min-width and max-width values, to specify the dimensions of a landscape device.
01:05For example, if we wanted to target a Smart Phone with the dimensions of 480 by 320
01:10in landscape, our link would be like this.
01:13This technique has the advantage of working in Dreamweaver CS5's WebKit
01:17rendering engine, as well as simulators and actual devices.
01:21While it's not as elegant as orientation:
01:24landscape, it does the trick.
01:27So let's incorporate an orientation aspect to our media queries.
01:31While you can create different stylesheets for orientation, I'm going to go
01:35ahead and just use the same ones to keep life a little simpler for this course.
01:39Let's open up our header.php file to make the changes.
01:43So I'll go to the Files panel, and navigate up to my tpa2 folder, locate
01:50header.php, and give it a double-click, and then go into Code View, where I
01:58find by media queries.
01:59So let's start with the Phone first.
02:02So that's right up at the top; I'm going to copy that, and then paste it right below.
02:08So now I need to alter it by adding a minimum width.
02:12So right after it says media="only screen, I'll add the logical and, and in
02:18parentheses, min-width:321px, and then close the parentheses.
02:27And then I'm going to change my maximum width value from 320 to 480.
02:32Okay, Phone is done; let's do a Tablet now.
02:35Now I'll copy the Tablet; paste it in.
02:38Now, we already have the min-width and max-width parameters here, so I only need
02:42to change the values.
02:44Let's change the minimum width to 769, and then the maximum width to 1024.
02:51Now, before we save the file, we're going to need to reorder the sequence in
02:57which these links appear.
02:59It's important that the media query driven stylesheets cascade from largest to smallest.
03:05If you don't reorient the code from the way Dreamweaver writes it, it just won't work.
03:10So we're going to take our Desktop section, and move it to above the Phone.
03:17You want to put it below the default stylesheet, though.
03:20And now let's grab Tablet, make sure you get both of the links, and move that
03:26above Phone, and below Desktop.
03:29Okay, now are ready to save the style sheet, and our orientation code is in place.
03:33So let's check out all of our orientation code, and make sure it's working properly.
03:37I'll flip over to index.php, and go down to window sizes, and let's just
03:43choose Tablet first.
03:44Here is our Tablet, with our lovely green background, in portrait.
03:49Let's go ahead and switch that to landscape orientation, and the green should
03:53stay, and it does, and it looks like that's working out.
03:57Okay, let's check out the Smart Phone.
04:00Again, starting off in portrait, with a very special yellow background, and now
04:06landscape; still yellow, looking good.
Collapse this transcript
4. Styling a Blog for Tablets
Reducing background overhead
00:00One of the most common mistakes a Web designer can make when creating a mobile
00:04stylesheet for tablets, is to think it's almost exactly the same screen size as a Desktop.
00:09While that's true, what follows: that you can pretty much leave everything in place, is not.
00:15Background images are a somewhat hidden issue.
00:19Because bandwidth is generally on the upswing, it's become common to use really
00:23large graphics when creating backgrounds for Desktop sites.
00:26While the screen sizes of tablets and Desktops are pretty close -- how long ago
00:31were you designing for an 800 by 600 screen? Not that long, right?
00:35The use of bandwidth is not that close.
00:38Don't forget that tablets are mobile, and thus they are downloading over Wi-Fi,
00:43sometimes in remote, heavily shared locations.
00:46You need to scale back your background images as much as possible.
00:50Take, for example, our background for the TPA site.
00:53Let me show it to you in Fireworks; my graphics program of choice. And here you
00:58can see, by looking at the file size in the lower right-hand corner, that it's a
01:02pretty large image: almost 2500 pixels wide. And if I click on Preview, I can see
01:09how big the file size is over on the left; just under 42K. Not enormous, but
01:15still pretty sizable.
01:17And what's more, not really all that necessary.
01:20So think in terms of the tablet background.
01:23The width that we'll need; not much more than a 1024. Let's give it a little bit
01:28of extra room, in case tablets grow some.
01:31So what I am going to so is reduce this image to 1200 pixels wide, starting from the center.
01:36You can do that easily in Fireworks by selecting Canvas Size, setting the new
01:41horizontal size, which is 1200, and I'm going to keep the same width, so my anchor
01:47can remain in the center, and I will click OK, and there is my new graphic.
01:53Now as you can see by looking at the file size, it's under 17K; quite a bit of savings.
01:58So let's save this image. I'm going to make sure my Optimize is set to JPEG at a
02:04Quality of 60; that's pretty good.
02:07And let's export this in the images folder of the tpa2 theme, which is where I
02:14got the original image, and then I'm just going to append a small.jpg.
02:20Click Save, and now let's head back to Dreamweaver, and we are ready to
02:25incorporate that image into our new CSS rule for the Tablet stylesheet.
02:29Now let's go get the CSS rule that is putting this large image on our Desktop,
02:34and that is located in style_desktop.css.
02:38So let me copy that body rule, and then let's flip over to style_tablet.css, and
02:46I'm going to insert it above the outerWrapper, and change the file name, adding my
02:54_small that I appended to the file name.
02:56And now when we go back to Design View, and then take a look at Tablet, we will
03:04see our background image a little bit better as we go forth, and adjust the
03:07width of the tablet.
03:09Okay, it looks beautiful.
03:10our cosmos is intact, with no noticeable shift in the background when we go from
03:15Desktop to Tablet, or Tablet to Desktop.
03:18You're ready to take on that layout of the Tablet now.
Collapse this transcript
Restructuring the layout
00:00The layout is probably among the most obvious elements of a Web page that need to
00:04be modified for tablets, especially if your Desktop design is a fairly large
00:09scale, like this example.
00:10In this movie, we will change just a few key things, but they'll make a ton of difference.
00:15So we are going to start from the outside, and work our way in.
00:19One of the common techniques for working with a Tablet CSS stylesheet is to go
00:24to the stylesheet that is currently being used, locate the rule that you're
00:30working with -- in this case, it's outerWrapper -- there it is, and I will copy that
00:36and then head on over to my style_ tablet.css. Let's replace the temporary
00:42placeholder outerWrapper with the copied one,
00:46and now I am going to make some changes here. We don't need to modify the margin.
00:50We do need to change the max-width, and I'm going to make that quite a bit
00:55smaller, so that it fits into the tablet better at 36.75ems.
01:02I don't need to modify anything else here, but I am going to add a bit of
01:06margin, top and bottom.
01:08So let's put in margin 10 pixels, and then auto to keep it all centered.
01:14Next up is the content area.
01:16All I really need to do with the content is change its width area.
01:20So let's just enter in content, and put in a new width. I'm using a fluid grid
01:28technique, so all of my widths are in percentages, and this width percentage will be 65.94.
01:36Finally, we are going to change the width of the widget-area, which is the
01:41sidebar, so a similar situation, where we just need to put in one value.
01:46So it is a class of widget-area, and enter a width of 23%.
01:54* Now, you can get all of these values mathematically, or you could use trial and
02:01error to get a more visual feel to them. So let me save this stylesheet.
02:05Let's go to Design View, and then let's go into our Tablet mode,
02:11and things are beginning to shape up a little bit better here. If we scroll down, we
02:15can see that the two columns are well spaced.
02:19But there's an obvious problem with the navigation, So let's tackle that
02:22one next.
Collapse this transcript
Modifying the header and the navigation
00:00Generally, I've found that I don't have to do much to bring the header and
00:04navigation into proper focus for a tablet design.
00:06Sometimes just the slightest tweak can make all the difference.
00:09Now, looking at the submenu, which is this section -- that's blast offs, my tickets,
00:14docking stations, etc -- you might think positioning is the problem, or line height.
00:19But once you take a closer look at how this section is styled, which we can do
00:24using the CSS Styles panel, and Inspect mode, and navigate over to this section --
00:32one final bit of adjustment here; let's close Files panel so we can see
00:35everything; there we go.
00:37Okay, so I'm going to hover over one of the submenu items, and use my left arrow
00:42key to go up the DOM.
00:44So the list item look okay; their height seems to be okay.
00:48Looks like the width is at 100%, and if I go up to nav submenu, I can see that
00:55it's absolutely positioned.
00:57And I really don't want to have it go up and down when switching from Desktop to Tablet;
01:02I would rather that stay the same,
01:04but I think the major problem here is the font size.
01:08You see that it's at 1.25em, so probably a good solution would be reducing that to 1em.
01:14So let's go into our style_tablet.CSS file, and we will add in that same
01:21selector, which was nav#submenu, with a single property of font-size, making that equal to 1em.
01:32Okay, let's take a look at our page now, and it's looking pretty good.
01:37Let me turn off Inspect mode. Everything is in place, and if I switch back to my
01:43Full Size, there is no change of position, and no tremendous change in size.
01:49The simplest of changes, but what a difference!
01:51The take away here is that it's best to find the least that you can do, that
01:56has the most impact.
Collapse this transcript
Restyling content
00:00You may be tempted to just leave the content styles the same for both Desktop
00:04and Tablet, but before you do, take a close look at the readability and size
00:09appropriateness for both platforms.
00:11Personally, I tend to go a little big with my font sizes on the Desktop which I
00:16inevitably have to consider scaling back for tablets.
00:19Let's look at our example site, and see what's warranted.
00:22So here we can see the main heading.
00:24If I click onto that, we can see it's an h2; that's pretty sizable.
00:30And as I scroll down, it looks like there's some additional padding here,
00:35obviously there is a line height consideration here that my clear up if we
00:39reduce the size of the type.
00:41Alright, so it looks like there are just two things to me. I would first
00:45change the h2, and then, I think this might be padding. Let's turn on Inspect,
00:49and yup, it sure is. So when I hover over the paragraph there, the purple area
00:56you see around is padding.
00:58An easy mnemonic is, padding is purple.
01:01Okay, so let's make a change in the style _tablet.css. So, let's reduce our h2 tag;
01:08it's currently at 1.75em, which I found using Dreamweaver's Inspect mode, and I
01:16am going to reduce it to 1.5em, so a little bit of a compromise.
01:21And then the padding has 1em top and bottom, and 0 left and right.
01:27So let's cut that top and bottom padding in half, and make it .5em, followed by a
01:35zero, and we will close out or paragraph tag.
01:38Now let's head on over to Design View, and I think that's looking a little bit better.
01:43Yeah, that looks a lot more suited to the tablet, and we can see that we can get
01:48more on a single line.
01:49So not bad. I think overall the readability on the tablet has improved with
01:54the tweaks we've made.
01:55So now, you're ready to consider tablet usability, and how you can improve
02:00on that.
Collapse this transcript
Ensuring touch-screen compatibility
00:00Tablets almost universally rely on a touchscreen interface.
00:04As such, you need to give special consideration to issues that may arise with
00:09navigation and form interaction.
00:11On our example site, like many WordPress sites, the sidebar is link intensive.
00:16On the Desktop, there is a little separation between the links,
00:20but it looks to me like it's kind of tight on the tablet.
00:24So let's open that up. In order for me to find exactly what the selector is, I am
00:28going to rely on Inspect mode one more time.
00:31And let's take a look here, and I see I have an anchor tag, and it is
00:36within a list item.
00:38So if go up the DOM there, there is the list item.
00:42I don't seem to have a rule that is affecting it;
00:44this is a more general rule.
00:46So let's go into our tablet stylesheet, and we'll add a new rule that's targeting
00:52the widget-area class; ul li.
00:57That's the list item within the unordered list, that's within the widget-area.
01:02So in order to open this up, I am going to add some padding to the bottom, and I
01:06am going to try a value of 7em.
01:10Okay, let's go ahead and click over here.
01:12Yeah, that does give it a nice little bit of separation, and makes it a lot
01:16easier to distinguish one link from another, and tap them.
01:19Now let's turn our attention to the form that's in the sidebar; that's the Search box here.
01:25When we reduced the size of the overall page, Search took a hit.
01:30Now the submit button wraps to the next line, which isn't great,
01:34but you can't make the field any smaller.
01:36Well, if you kept a small, go big.
01:39Let's expand the input button to fill the space.
01:43This little search form is created dynamically by a WordPress function.
01:47So in order to discover the ID that's controlling it, we will need to go into
01:52Live Code, and then I am going to go ahead and just click into the form, so I can
01:57find my input value there.
01:59And there is the label, and let's look for the form, and there it is.
02:04So the form is right here, starting on, it looks like, the middle of line 78.
02:09The important thing is this ID here; searchform.
02:13So I am going to go ahead and just copy that, drop out of Live Code; head back to
02:18my Tablet stylesheet.
02:20Now I'm ready to write my selector, which we'll start with an ID of searchform,
02:24and I want to target both of the inputs that are there:
02:27the text field, and the search button.
02:30So it's searchform input, I will close off our CSS rule, and enter a width of 100%.
02:39Okay, let's see how that looks; not too shabby.
02:43So now the links are more accessible for the touchscreen user,
02:46the search form has a more cohesive feel, and bonus: the button is easier to tap.
Collapse this transcript
5. Developing a WordPress Site for Phones
Handling oversized logos
00:00One of the biggest creative challenges you face on the small screen is how to handle a logo.
00:05For many sites, their standard logo is simply too big for an optimized
00:10mobile phone layout.
00:11While it can be a bit of chore, there is often no way around it.
00:15With a new, smaller logo in hand, CSS can take care of the switching,
00:20but for that to happen, your logo must be inserted as a background image, as we
00:24have here in this theme.
00:26You can see this if I open up the header.php file, found in my theme. Go into
00:35Code, and you scroll down to the header, and you can see that there are no images there.
00:43So this logo is brought in via CSS that's located in the style.css file.
00:49So let's scroll down, and there you see the logo in the header.
00:55Now, for my design I am going to move it outside of the header, and put it
00:59into the outerWrapper.
01:00So I am going to need to modify both the outerWrapper, and the header.
01:03I am going to first just grab the header code here, copy it, because there are a
01:09number of properties that I need to modify, and there is no need to type them all back in.
01:14So I will copy that, and then go to style_phone.css.
01:17Let's get rid of our little placeholder, and paste in our existing code.
01:21Now I am going to modify it.
01:24In the Desktop version, we have 50 pixels up top and below. I am going to zero
01:28that out, so we can maximize our screen real estate.
01:31The max-width part of my fluid grid design, I am going to bring down from 51.75,
01:37all the way down to 14.
01:39And then I'm going to get rid of my padding, as well as the white background, and
01:45zero out all of my border-radiuses.
01:52Now I'm ready to add in my background image.
01:55So I will enter in background, and I will restore the white background default
02:01color, and enter in the URL to my new small logo, which is located in the images
02:06folder, and it is called tpa_logo_small.png.
02:13Now, if you don't know the file name and path to your image, you can always use
02:17Dreamweaver's edit stylesheet to open up the dialog box, where you can click
02:21on browse for folder.
02:23Okay, let's make this a no-repeat, and center it, and put it up top. Okay.
02:29Now, I also need to modify the header, so I am going to put in my header rule.
02:35In this case, I know that I need to get rid of the image that's in the
02:38background, so I'll type in background: none.
02:42And I also want to bring the header all the way to the top, so let's set
02:47padding-top to zero.
02:48Now, here is an odd one: in developing this design, I found that I needed to
02:54overstate the width, and set the width to 115% to make it work properly across devices.
03:01So that's good; let's go ahead and save it.
03:04We'll go back to Design View.
03:06So now let's move from Tablet down to Smart Phone.
03:11If your screen does not Refresh properly, you may find that you need to toggle
03:15Live View on and off.
03:17So we've got lots of problems with the page, but you can tell that now I have my
03:22new logo in place, and that was the goal here. Mission accomplished.
Collapse this transcript
Manipulating content
00:00I really like the idea of making your Web content more relevant, depending on the situation.
00:05For example, when I'm on the go, and I need to check my flight information, I
00:09don't want to wade through a bunch of sales and specials.
00:12I want to be able to click on a schedule right away.
00:15In this movie, we'll move our subnavigation, which you can see here in Full Size
00:20over on the right: Blast Offs, My Tickets, etc. Front and center.
00:23Now, there are a number of navigation CSS rules to change, so the technique I've
00:28found most efficient is to go into my style.css file, go down to where the
00:34navigation is, and I'm looking for submenu, not the main menu in this case.
00:39So I'll place my cursor in front of the first rule, and then scroll down until I
00:44get to the end. That looks like the end right there; do a Shift+Click, copy that,
00:50and now let's go over to style_phone.css. And after the header, I'm going to go
00:56ahead and paste them in, and then let's go back to the top where it starts, at nav
01:01submenu, and start to make our changes.
01:04Now, some of the things, we don't need to change, and those things I can remove
01:09from my style_phone.css sheet, like the font-family.
01:13That will stay the same, and cascade in properly, so let's get rid of that.
01:16We are going to need to change the width, and no longer will it be just a small
01:21little version that we see here.
01:23We want it to be 100%, because the goal here is to convert these list items into
01:28buttons that span the small phone screen.
01:31Let's change the font-size; drop it down to 1em.
01:35We no longer are working with an absolutely positioned element; instead, it's
01:40relative, and because we're not working with that, we can remove top and right.
01:46Now, I have one other adjustment to make, and honestly, this is from a trial an
01:51error situation, where I found that I needed to put in a margin, where the top
01:55margin is -30px right, and bottom are zero, and left is 30px.
02:02Now, nav subMenu ul is next.
02:06There is nothing I need to do with this, so let's remove this selector entirely.
02:11That all stays the same.
02:12The ul li one, however, we have some changes to make.
02:17We can get rid of the line-height, because that does not change, but
02:21text-alignment does.
02:22We want our text to be centered now.
02:25I'm going to keep the text transformation, so we'll let that be inherited.
02:29Margin-bottom, I'm going to zero out, and now I need to add a more button-like
02:35appearance, so I'm going to add a gray background color, and we'll do #666, and I
02:41also want to add a border on the bottom. So border-bottom, Colon.
02:48Let's make this kind of broad at 2px.
02:50We'll keep the dotted motif, and in order for it to stand out, I'm going to
02:57set it as white. Okay.
03:01Next up are the two link states.
03:04Here, we just need to modify the color, and the border-bottom.
03:09So we can remove display:
03:11block, and text decoration:
03:13none, and I'm going to put in a white color for our standard link color.
03:20Now, the border-bottom, I'm going to go ahead and remove, because I already
03:24have one set up here under ul li, and if I have another one here, you'll get a
03:30double border effect.
03:33So let's set that border-bottom to none.
03:35Finally, we need to change the color here.
03:39Instead of a reddish color, I'm going to make it go blue on hover.
03:43And we'll change the background color to a different gray, so I can give a rid
03:50of both of these items, and then just insert a background-color.
03:59Okay, we'll save those changes, and let's go to Design View, and then
04:05switch to Phone size.
04:08Looks like we'll need to toggle a Live View off, and toggle it back on, and there
04:14is my moved subnavigation, right under the logo, so it's much easier to access.
04:20And so now it looks like we've got just what harried space travelers need, where
04:24they can access it immediately from their mobile phones.
Collapse this transcript
Restructuring navigation
00:00Boy, is this primary navigation a mess. Let's skip the snazzy intro, and get to
00:04work cleaning it up.
00:05By the time this is finished, I want a clean and simple look for my
00:09primary navigation.
00:10So again, I'm going to go into style.css, and copy all of the navigation styles
00:16that affect the primary navigation.
00:19And those are the ones that start at nav.mainMenu, so I'll put my cursor there,
00:26scroll down until we get to the last one, and then Shift+Select, copy it, head
00:34on over to style_phone.css, scroll down to the bottom, and paste in our new code.
00:43Okay, so now we're ready to start up at the top, where it's nav.mainMenu, here on line 35.
00:51And again, there are certain things we're going to keep, so that we can delete
00:55those entries, like font-family.
00:58And one of the major things I want to do here is reverse the color scheme.
01:02So instead of white against a blue background, it's going to be blue against
01:05a white background.
01:06So let's change the color white to 00F, which is blue.
01:13We'll keep the width at 95%.
01:15We're going to shrink down the font-size pretty heavily, because I see this has
01:21just one or two lines of navigation that goes across, right under the Transporter
01:25Hubs, last item there.
01:27So I'm going to make it .8em, and because I have that new element above the
01:32navigation, I'm going to have to increase the top-margin.
01:35So let's change that 20 to a 60, and instead of auto, which will give us 60
01:42pixels on the bottom, let's just zero out the rest.
01:45I can get rid of my overflow hidden,
01:48and let's change this background-color to white.
01:52Finally, I want to get rid of the border-radius property.
01:55Everything is squared off in this new mobile phone design, and we're ready to
01:59move on to the unordered list portion.
02:03Basically, all of these styles are fine, except for the last one, where I've got a
02:07left and right padding.
02:09Let's get rid of that, so we can use all of the space we can.
02:12So padding is now at zero.
02:14Next we'll move on to the list items: the li.
02:18We're still going to be floating left, so let's remove that property.
02:23Padding-right, I'm going to reduce from 35 to 15.
02:27That will still give us some separation, but not too much.
02:31And now the alignment, we're going to change from center to left.
02:37Now let's work on the link states. We can dismiss line-height and display:
02:41block, and let's change our color, again, to the blue, and our background-color to white.
02:52We can also remove the text-decoration link, since that's covered by inheritance.
02:58Now, I'm also going to swap these two colors.
03:02This D32020 is a dark red, and I'll make that my text-color on hover, and set the
03:10background-color to white.
03:12Okay, let's save it. We'll toggle the Live View off, and back on.
03:18Well, that's certainly a relief.
03:21Now our primary navigation links are very easy to read; they don't take up too
03:25much valuable screen real estate.
03:27Although, I notice that I've got a little bit of a glitch here, with a little bump leading out.
03:32That probably means that my width is just a little bit too wide.
03:37So let me go back in to style_phone.css, move down to nav.mainMenu, and let me
03:48modify this width here; I can try 94%.
03:53Not quite right; let's go to 93%.
03:57And when I click Back, everything's looking good.
04:00Sometimes it takes a little trial and error before you can get it nailed down
04:03exactly the way you want. Overall, good job.
Collapse this transcript
Making blog content more accessible
00:00Our final task in creating the mobile phone stylesheet is to bring the
00:04content into proper shape.
00:06We will have to work with both structural elements, and content related tags as well.
00:11Let's get started.
00:12So again, I note that I have a contentWrap rule that I need to set the margin to zero.
00:17Let's go ahead and do that. I'll open up style_phone.css, and let's move to
00:22the bottom, and we'll put it in a contentWrap, and make that margin zero; close the rule.
00:33By now you remember that there are two main areas: content, and the widget-area,
00:38which is the sidebar.
00:39I am going to set both of those to a width of 100, and get rid of the float
00:44that's on the content selector.
00:45So let's start with content, and set that width to 100%, and the float to none.
00:52We'll also set the width for the widget-area to a 100%.
00:57Let me save my file, and then toggle Live View on and off, and we'll take a look
01:10at where we are at right now.
01:12Well, it looks like everything is lining up pretty well, from content, down to
01:16sidebar, and back up again.
01:18It does seem that I've got a little bit of extra space around the paragraph tags here.
01:24So let me go back into style_phone.css, and as we did with the tablet, we'll
01:32add in a paragraph selector, and narrow down that top and bottom margin from 1em to 0.5.
01:44Again, we'll save. Let me toggle it on and off, and it's subtle, but it's
01:50definitely less space there. Alright; all done!
01:56Although we saved the content for last, it's obviously a critical component in
02:01your mobile phone styling.
Collapse this transcript
Goodbye
Next steps
00:00Thanks for taking my Dreamweaver and WordPress: Building Mobile Sites course.
00:04I hope you found it helpful, and are ready to work on your own WordPress-based
00:08mobile sites in Dreamweaver.
00:10If you want to dive deeper, check out my other Dreamweaver and WordPress courses
00:14here on Lynda.com in the Online Training Library.
00:18Have a great day.
Collapse this transcript


Suggested courses to watch next:


CMS Fundamentals (3h 11m)
James Williamson


Are you sure you want to delete this bookmark?

cancel

Bookmark this Tutorial

Name

Description

{0} characters left

Tags

Separate tags with a space. Use quotes around multi-word tags. Suggested Tags:
loading
cancel

bookmark this course

{0} characters left Separate tags with a space. Use quotes around multi-word tags. Suggested Tags:
loading

Error:

go to playlists »

Create new playlist

name:
description:
save cancel

You must be a lynda.com member to watch this video.

Every course in the lynda.com library contains free videos that let you assess the quality of our tutorials before you subscribe—just click on the blue links to watch them. Become a member to access all 104,069 instructional videos.

get started learn more

If you are already an active lynda.com member, please log in to access the lynda.com library.

Get access to all lynda.com videos

You are currently signed into your admin account, which doesn't let you view lynda.com videos. For full access to the lynda.com library, log in through iplogin.lynda.com, or sign in through your organization's portal. You may also request a user account by calling 1 1 (888) 335-9632 or emailing us at cs@lynda.com.

Get access to all lynda.com videos

You are currently signed into your admin account, which doesn't let you view lynda.com videos. For full access to the lynda.com library, log in through iplogin.lynda.com, or sign in through your organization's portal. You may also request a user account by calling 1 1 (888) 335-9632 or emailing us at cs@lynda.com.

Access to lynda.com videos

Your organization has a limited access membership to the lynda.com library that allows access to only a specific, limited selection of courses.

You don't have access to this video.

You're logged in as an account administrator, but your membership is not active.

Contact a Training Solutions Advisor at 1 (888) 335-9632.

How to access this video.

If this course is one of your five classes, then your class currently isn't in session.

If you want to watch this video and it is not part of your class, upgrade your membership for unlimited access to the full library of 2,025 courses anytime, anywhere.

learn more upgrade

You can always watch the free content included in every course.

Questions? Call Customer Service at 1 1 (888) 335-9632 or email cs@lynda.com.

You don't have access to this video.

You're logged in as an account administrator, but your membership is no longer active. You can still access reports and account information.

To reactivate your account, contact a Training Solutions Advisor at 1 1 (888) 335-9632.

Need help accessing this video?

You can't access this video from your master administrator account.

Call Customer Service at 1 1 (888) 335-9632 or email cs@lynda.com for help accessing this video.

preview image of new course page

Try our new course pages

Explore our redesigned course pages, and tell us about your experience.

If you want to switch back to the old view, change your site preferences from the my account menu.

Try the new pages No, thanks

site feedback

Thanks for signing up.

We’ll send you a confirmation email shortly.


By signing up, you’ll receive about four emails per month, including

We’ll only use your email address to send you these mailings.

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

By signing up, you’ll receive about four emails per month, including

We’ll only use your email address to send you these mailings.

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked