Posts in the CSS Category

Running Just To Stay In Place

Published 21 years, 5 months past

The e-mail backlog has finally forced me to do something I’ve long resisted: the site now has an FAQ.  I thought about calling it a QAF (Questions Frequently Asked) or maybe an FRE (Frequently Received E-mails).  But in the end the weight of tradition got me to go with the traditional nomenclature.  If you’re thinking of sending me e-mail, please read the FAQ first to see if the answer is there.  As much as I love correspondence, I just can’t keep up any more.  In fact, I couldn’t even before Carolyn arrived, and so now I’m doubly unable to keep up.  Hopefully the FAQ will help, just a bit.  Thanks for your collective understanding.

This is truly excellent: arbitrary-element hovering in IE/Win.  In other words, stuff like pure CSS menus and such can actually be used in real-world designs, thus reaping the benefits of dramatically reduced markup weight.  The approach the behaviors take reminds me a lot of what we did to get the Netscape DevEdge menus working in IE/Win, except we did it in JavaScript, which may have made our technique a little weightier on the back end.  Either way, they’re both excellent solutions.

There’s a lot more gold to mine in the behaviors/script/structural markup vein, I suspect; the melding of IE-specific behaviors with lightweight scripts and CSS could lead us to a great many advances in standards-oriented design.  While it would be nice to see IE advancing so that we didn’t need these kinds of solutions, at least they exist.  Here’s my short, off-the-cuff wishlist for things for which we can hopefully use behaviors to replicate CSS2 functionality:

  • Support for generated content; counters would be a truly awesome bonus
  • Fixing the box model in versions of IE previous to IE6
  • Better (read: more smoothly scrolling) support for fixed-position elements and fixed-attachment backgrounds than current scripts provide

I think there’s a way to use behaviors to get alpha-channel support in PNGs, too.  Can anyone confirm that?  If not, it’s something to investigate.

Now on to slightly more surreal matters.  Sure, I’m fairly well known as an expert in CSS and Web standards, and some of you know that I do a weekly Big Band-era radio show, but how many of you were aware of my career as a shoe designer?  Doug Bowman wrote to let me know that Matt Haughey had spilled the beans, so I’ll own up to it here.

Okay, not really.  But if you go to the Medium Footwear site, wait for the Flash interface to load, hit “Collections,” and then click anywhere on the splash page, you’ll see—and I swear that, like Dave Barry, I am not making this up— the Eric Meyer Collection.  There are nine different models, and the really funny punchline to the whole affair is this: guess which of those shoe styles I like enough to consider buying?  As it turns out, the “Structuralist” design.  Seriously.


Turning Points

Published 21 years, 6 months past

As the calendar turns to another year, I’ve reached a major goal.  I just now finished writing the preface and dedication for the second edition of Cascading Style Sheets: The Definitive Guide, which means that the primary writing is fully and completely done.  Some chapters have already been through technical review, copyedit, and author review, and are moving through production.  Others are queued up for me to deal with in the next several days.  So it looks very much like we should be able to put the book on shelves, and into your hands, before summer gets underway.  This is, for me, a major relief.

As for the sequel to Eric Meyer on CSS, that’s suffered some setbacks due to Carolyn’s arrival, so I’m not sure when it will be finished and published.  Half the projects are already written, and the sixth has the working files all set up.  That leaves just a few more to write.  I’m hoping to get them finished before January is done, but I’m feeling less and less optimistic about meeting that goal.  We’ll see what happens.

Speaking of Carolyn, she’s suffering through her first cold, so we stayed home last night.  There are certainly worse ways to spend a New Year’s Eve than with your wife, new daughter, and a home-cooked meal.  We didn’t even bother to watch the ball drop, although the shouted countdowns from our various neighbors let us know exactly when the new Gregorian year began.

As Kat and I lay in bed last night, Carolyn miserably gurgling and wheezing between us, I kept saying to myself, “It’s just another day.”  There was something about the change to 2004 that hit me hard, a realization that this is the first year in which Mom has always been dead.  Throughout 2003, even though she was gone, she’d been a part of that year.  When that last digit changed, artificial though the division of time might be, there was suddenly a sense that I was farther away from Mom, that I’d crossed a boundary that was suddenly like a wall between us.

But it is, in the end, just another day.  Mom doesn’t have to be any further away from me than she was yesterday, or the day before.  She is always as close as I choose to allow, as close as my memories of her will permit.


The Fix Is In

Published 21 years, 6 months past

I feel kind of honored whenever I find out a browser’s been altered (hopefully fixed) as a result of something I’ve done.  Check out point (20) in Dave Hyatt’s recent Safari progress update.  Glee!  I could also feel good about point (19), which I reported as a bug a while back, but I apparently they’d known about it long before I noticed it.  To see that bug in action, drop by the XFN profile document.

My optimism on Sunday regarding Libya may have been misplaced, it seems—or was it?  It’s hard to tell, and CNN isn’t much help, since it’s provided information on both sides of the fence.  In a summation article regarding an interview Gadhafi gave to CNN, it was stated:

Asked about his decision, Gadhafi acknowledged that the Iraq war may have influenced him, but he insisted he wanted to focus on the “positive.”

For that matter, the title of the article was “Gadhafi: Iraq war may have influenced WMD decision.”  That was on Monday.  I went looking for a full transcript, because I wanted to see exactly what was said, but didn’t find one.  When I went back again to look on Tuesday, the article had been updated and did not contain the above paragraph.  It instead stated:

Asked about his decision to dismantle programs and whether the Iraq war or the capture of former Iraqi leader Saddam Hussein may have influenced him, Gadhafi questioned why Iraq had to be his role model.

The title had been updated as well, now to “Gadhafi hopes for new era of U.S.-Libya relations.”  Still no transcript.

Notice that in neither case was Gadhafi’s answer on the subject of the war’s influence actually quoted.  So in the absence of video of that segment of the interview, or else a detailed transcript, I’m left wondering just what the hell he really said, and whether or not I should retract some of the things I said on Sunday.

So I’ll punt on the whole thing, and just share The Hoser with everyone.  Merry Christmas, eh?


Friendly Discussions

Published 21 years, 6 months past

We’ve gotten some interesting feedback about XFN, as well as a number of blogroll adoptions and even tools that offer XFN support!  Two commentaries in particular drew me in:

  • Richard Tallent pointed out that XFN could be a key component of building trust networks between blogs.  He also had some gripes about the syntax and scope, which is fine, as we don’t envision XFN as being complete by any means and are very keen to see what people suggest.  My responses can be found in the comments section of his post.
  • Leigh Dodds took me mildly and quite fairly to task for some minor inaccuracies in the XFN/FOAF comparison article I wrote, and also had some great observations and ideas regarding XFN.  Leigh’s comment that he finds XFN to be elegant was especially satisfying, because Matt, Tantek, and I worked hard to keep it that way.

One of the things I forgot to point out in my announcement yesterday is that not only can you add XFN values to your links, but you can do so and still have your HTML validate— see, for example, the validator report for the main page of meyerweb— because XFN uses an existing HTML attribute (rel) in a way that HTML itself allows.  In other words, XFN enhances the Web without breaking it, very much in the spirit of Tim’s original vision of interlocking technologies that worked together to create a social medium.  That’s an important aspect of XFN, and one I didn’t want to overlook.

Of course, XFN isn’t constrained to HTML.  Any XML language can also use XFN, given the right hooks are included in the language’s DTD.  Thus, we’ve created something that works today as well as tomorrow.

We’re still very interested in suggestions and constructive criticism, so keep those posts coming!


Appropriate Selections

Published 21 years, 6 months past

Okay, a lot of you have managed to come up with puns and jokes similar to the one I first saw at Jay Allen‘s site, and Dunstan Orchard has taken the whole theme to the (il)logical conclusion.  One of the most common puns I’ve seen is:

#ericmeyer:first-child

Amusing, yes, but here’s the problem: that describes any element with an id of ericmeyer that is the first child of another element.  Now, I can be described that way; I am the oldest of my parents’ two children.  But it doesn’t describe Carolyn, unless we accept the convention that a child’s id should be given a value with his or her father’s name.  Such a convention would limit every father to one child, which might make for excellent social policy but seems unnecessarily restrictive from a structural point of view.

So, while this particular little joke validates, it doesn’t do what the author(s) intended, probably due to the widespread lack of understanding about what :first-child actually does. A closeup picture of Carolyn, showing her hazel eyes and shock of dark hair to full effect. You’re supposed to be describing her, people, not me!  Every time you write an inappropriate selector, it makes the Baby Carolyn cry.  You wouldn’t want to make her cry, would you?

A selector that does describe her is:

#ericmeyer :first-child

…which is functionally equivalent to:

#ericmeyer *:first-child

Both will select any element that is the first child of another element and is also descended from an element with an id of ericmeyer.  This would also select the first children of any children that I have, so first grandchildren (and so on) would be members of the same set.  Thus, it might make slightly more sense to use the following:

#EricMeyer > :first-child

…which is to say, any element that’s the first child of an element whose id is EricMeyer—more precisely, any element that is the first child of another element and is also the child of an element with an id of EricMeyer.  I suppose that this particular selector could describe many children, as I expect I’m not the only ‘EricMeyer’ (and yes, the capitalization matters) in the world to have had a child.  But it should, at least within the confines of my docu—er, my family tree, select Carolyn uniquely.

Here endeth the lesson.

At another time of year, I might have struggled with what kind of music to play for Carolyn.  Big Band?  Classical?  Hard rock?  Some blues, maybe?  “Weird Al”?  Fortunately, there is no dilemma, as we’re pretty much playing holiday music front to back.  Jiminy Cricket sings “From All Of Us To All Of You” about twenty times a day.  Good thing I have a fondness for that record.  I’m still going to get Handel’s “Messiah,” Bach’sBeethoven’s “Ode To Joy,” and a few other pieces from Bombastic Dead White Guys into the mix.  Plus “Santa Baby” as sung by Eartha Kitt.  May as well start with the confusion early!

I’ve just read, much to my confusion, that Diana Krall and Elvis Costello were married in Elton John’s mansion, thus forming a Weirdness Trifecta.  I mean, hey, if they’re happy with each other, I’m all for it, but those just aren’t names I would have put into the same sentence.  Ever.


Rolling On

Published 21 years, 6 months past

As an experiment, I’ve added a ‘blogroll’ to the home page of meyerweb.  Those of you using IE/Win and the default theme (Eos) won’t see it because of positioning bugs in IE/Win, and you’ll get slightly incorrect display in a couple of other themes, but people using more conformant browsers should have no trouble.  This isn’t the list’s final form by any means—as I say, it’s an experiment.  It’s actually pushing me toward YAR (Yet Another Redesign), truth be told, one that compacts the sidebar content so that I can introduce new stuff.

Suddenly I have an idea for an update of the classic “Yar’s Revenge.”  In this new version, you control a Web designer who runs around the screen avoiding validation errors, font-sizing bugs, table-layout fanatics, CSS-layout fanatics, wandering usability experts, and snarky bloggers while trying to collect as many design components, standards powerups, and “help points” as possible in pursuit of your ultimate goal: a new redesign that’s accessible, attractive, and uses very lightweight markup.  Every level is a new redesign, each one requiring more standards and components than the last one.  Anyone who makes it past five redesigns without giving up in frustration earns the title “Web design guru.”  Once you attain that rank, you’ll have about ten times as many bloggers trying to tear you down in subsequent levels.  Have fun!

For some reason, I’m strongly reminded of the writing I’ve been doing this weekend.  I said a while back I had one chapter left to write in the second edition of Cascading Style Sheets: The Definitive Guide.  I still do, although said chapter is (at the moment) about 80% done.  It’s the chapter on table presentation, and let me tell you, it’s definitely my least favorite chapter.  I think I did a decent job explaining things, but the subject matter itself is… well, I don’t like it.  Both of my technical reviewers expressed their sympathies to me before I started writing it; that ought to tell you something.

Regardless, the chapter should be done by the end of the weekend.  Then all I’ll have to do is write/create the last few appendixes (no big deal) and go through the author review stage, where I look over the copyeditor and technical review comments and make any necessary changes.  And then it will be really and truly done.  I’m no longer sure how long it will take to finish up those last few bits, but I still hope we’ll have the book on shelves before next summer.  Keep your digits crossed…


Lather, Rinse, Repeat

Published 21 years, 7 months past

In rummaging through my pictures from last weekend’s trip to San Francisco, I came across another picture I just had to share: the laundry machines where Jeff Veen‘s clothes get washed and dried!  A pair of top-loading washing machines sit to the far left, a pair of front-loaders sit in the middle, and a stacked pair of front-loading dryers can be seen on the right.  They actually don't look like they're any different than normal washing machines.They seemed bigger than normal machines, somehow.  As if they were mighty colossi of laundry machines, towering over the cleanliness landscape and emitting peals of spin-cycle sounds that shake the skies like thunder.

Then again, I could just be projecting.

So what’s with all the pictures all of a sudden?  Partly it’s me messing around with the export features in iPhoto, which are frankly not the greatest.  It generated tons of “jaggies,” and in JPEG images, no less.  I need to find some tools that do a better job, or at least some decent plug-ins for iPhoto.  I think I said that some time back.  It’s more true now than it was then.  (Speaking of which, is there a trick to adding folders to the Dock?  I can’t seem to figure it out.)

Over the past few days I’ve run into two very familiar forms of grumbling:

  • XHTML is bogus because it’s so much pickier than good old HTML.
  • CSS layout is bogus because it can’t do everything possible in table-based layout.

These aren’t new complaints, by any stretch.  Heck, I myself whined long and loud about how XHTML forced everything to be lowercase—I called it “xhtml” for the longest time—and those trailing slashes looked stupid.  Over time, I realized those were silly reasons to dislike a language, especially since HTML is still around and quite available.  (What’s this site authored in?  Hmmm…)  I realized I was ambivalent toward XHTML not because it was pickier, but because it was a reformulation of HTML in XML.  That was exactly its point, and while I could see some utility in that effort, I thought (and still think) it a mistake to abandon all further work on HTML and push forward with XHTML.  I couldn’t come to that conclusion, however, until I stopped carping about things being different and took the time to understand why things were different.

As for CSS-P, of course it has limitations.  So does table-based layout.  The question is which set of limitations you’re willing to accept, and conversely which features are more important to your current project.  I still fail to understand why people have to treat everything as being a binary situation.  It’s not a question of only using tables, or only using CSS, for layout, forever and ever amen.  Some projects do well with one, some with the other, and some call for both in the same layout.  I don’t know how many times I’ve said this over the years, but I guess I’m saying it again.

And if you object to something simply because it’s new and doesn’t act like the stuff you already know, take it from me: that form of resistance isn’t going to work for long.  If you can’t deal with change, you’re on the wrong planet, and if you’re a Web developer/designer then you’re really in the wrong line of work.  Things will always change, whether it’s due to new browsers or new standards or new critical patches from Microsoft or just plain new thinking.  Your best bet is to learn as much as you can so that you can make the best possible decisions about what to do, and why.


Roundup

Published 21 years, 8 months past

Off the road again: I’m back from User Interface 8, where a good time was (once more) had by all.  Especially me.  I don’t know exactly how I ended up with good-looking women in my lap so often, but I don’t think I’ll complain about it too much.  I have a huge collection of pictures that cry out to be shared, and a huge lack of time to assemble a gallery.  I could use iPhoto’s export-to-Web function, except I hate it.  I’ll have to dig up one of those cleaner plug-ins I’ve been hearing about and give it a whirl.

To catch up things that happened while I was away:

  • A List Apart is back.  That in itself is cause for celebration, even if my article “Going To Print” no longer makes sense in the new template.  However, the real news from where I sit is the publication of “Sliding Doors of CSS” by the always brilliant and readable Douglas Bowman.  Check out the presentation, HTML source, and text-zooming robustness of this demonstration page from the article, and then read the article if you’re impressed—as I suspect you will be.  I’m seriously thinking about publishing a followup article to “Rounding Tab Corners” using Doug’s Sliding Doors technique, and comparing it to the techniques presented in the the original article.  Some have said that Doug built on my article, but that’s not true.  He came up with his approach independently, and if anything I’ll be building on his ideas, not the other way around.
  • Russ Weakley published the Floatutorial, which “takes you through the basics of floating elements such as images, drop caps, next and back buttons, image galleries, inline lists and multi-column layouts.”  It does this with a simple yet powerful step-by-step approach that reminds me a bit of Eric Meyer on CSS, except it’s much more concise.  The Floatutorial joins the Listutorial in Russ’ oeuvre.
  • The House of CSS (not to be confused with the House of Style) opened its doors, and the crowd went wild.  I like it.  Sure, it’s a whole lot of structural hacking to achieve a purely visual effect, but so what?  I didn’t think of it, and neither did you.  Or if you did, you didn’t bother to assemble it.  Chris Hester did, and he deserves recognition for the creativity and skills it took to do so.
  • Apparently Microsoft’s recently started admitting that Longhorn will launch in 2006, as I predicted a few weeks ago.  A few people wrote to ask if I’m always so prescient.  The truth is, it didn’t take an oracle, a guru, or a clairvoyant to figure out that Longhorn was likely to be delayed by a year or more.  As I’ve been known to say every so often, the best predictor of future behavior is past behavior.
  • In a possibly related move, Microsoft has apparently decided to save time by releasing their critical-flaw fixes in groups, or what I’m going to start calling “patch batches.”  You know what to do, right?

For no apparent reason, I’ve had the song “Rhinestone Cowboy” stuck in my head all day.  Even a potent cocktail dosage of Ministry, Joe Boyd Vigil, Crystal Method, The Prodigy, and DJ Z-Trip has failed to dislodge it.  I’m starting to think that a power drill is my only hope.


Browse the Archive

Earlier Entries

Later Entries