A while back I wrote about an amazing discovery I’d made in which I learned that stylesheets are part of the DOM. I mentioned some properties to play with for fun and profit, and then heartily went on my way. Today I’d like to explore the CSSOM with a little more discipline, and also explain how I made a small debugger using the Table API. Read More →
I’ve been working for the last month or two on some super cool mobile templates for a client. As I’ve mentioned in other posts, we’ve pulled out all of the awesome for this. If Tridion were a person, it would be peeing its kilt with excitement every day — even though it definitely isn’t wearing a kilt. Read More →
In a previous post that I wrote, I talked about living the web developer’s fantasy of being told, “be as cutting edge as you want”, and how Joe Shirley (a fellow Tahzooligan) and I decided to use all the nice things we could 1. Before I get in to how we used a CSS preprocessor to crank our BEM methods up to 11, I need to take a step back and explain how we architected the CSS. Read More →
Not too long ago, I was put on a new project at Tahzoo and I got to hear what many developers in the community (and even at Tahzoo) can only fantasize about: ”Be as cutting edge as you want.”. A coworker, Joe Shirley, and I, were given the freedom to use whatever tools, techniques, and technologies that we wanted to build a corporate intranet — our only limitation that it must degrade gracefully in IE8.
So What I’m presenting is a very simple solution with Razor, where we only ask the Tridion user to put one Media Manager distribution URL in Tridion, but we can get both options out of it. Read More →
CSS is so cool and easy! Since it’s not a programming language, anyone can do it! You just need to know the properties and how to write a selector, and the job is done!
If you agreed with any of those statements, then this post is for you.
CSS is cool, but it isn’t easy. You can spend days debugging one line of CSS in just one browser. And it is true that a designer and a programmer can learn it in the same amount of time. Because the entry-point for CSS is learning some properties and how to write a selector, CSS doesn’t often get an exhaustive breakdown, and if it does, it isn’t about selectors and inheritance.
My goal here is to give you an exhaustive breakdown of one piece of CSS: Inheritance and specificity. I want this to be a breakdown that both designers and programmers can use, so it’s going to be thorough without over-geeking it. We’re going to start with a single element in a rule set and end with how a browser renders multiple stylesheets.
Folks that work with me know that I’m not a super-awesome programmer; I’m a front-end guy who dables with programs. I’m way more comfortable telling you what went wrong with your CSS in Internet Explorer 8 than what happened with your Razor template in Tridion 2011. Razor Mediator for Tridion is a blend of C# and .NET that just operates about two levels higher than where I am most of the time. As a result, I often spend time trying to figure out what information there is on a component and how to grab it. So a few weeks ago, I went from knowing that Razor could access TOM.NET to actually understanding it, and as a result I wrote a little debugging TBB to help other front-end guys looking to figure this thing out.
I’m written in the past on how cool contenteditable is, and what the potential usages are. Especially once you mix it with the scoped attribute, you can turn contenteditable into a pretty powerful component of an editing application of some sort. In fact, I have a few applications that I’ve been working on which called for exactly such a thing. But there’s no jQuery plugin for making stuff editable! And if you don’t have a plugin for making stuff editable, you surely don’t have one that makes utilizes the scoped attribute. Even worse, you certainly couldn’t have one that had a fallback for those browsers that didn’t support scoped just yet. Well, we do now.
This time, I want to combine what we’ve learned about CSS and contenteditable with another HTML5 attribute called scoped, and show you a fun little jQuery plugin that’s sure to make your day more interesting. Read More →