Skip to content
By using Twitter’s services you agree to our Cookies Use. We and our partners operate globally and use cookies, including for analytics, personalisation, and ads.
  • Home Home Home, current page.
  • About

Saved searches

  • Remove
  • In this conversation
    Verified accountProtected Tweets @
Suggested users
  • Verified accountProtected Tweets @
  • Verified accountProtected Tweets @
  • Language: English
    • Bahasa Indonesia
    • Bahasa Melayu
    • Català
    • Čeština
    • Dansk
    • Deutsch
    • English UK
    • Español
    • Filipino
    • Français
    • Hrvatski
    • Italiano
    • Magyar
    • Nederlands
    • Norsk
    • Polski
    • Português
    • Română
    • Slovenčina
    • Suomi
    • Svenska
    • Tiếng Việt
    • Türkçe
    • Ελληνικά
    • Български език
    • Русский
    • Српски
    • Українська мова
    • עִבְרִית
    • العربية
    • فارسی
    • मराठी
    • हिन्दी
    • বাংলা
    • ગુજરાતી
    • தமிழ்
    • ಕನ್ನಡ
    • ภาษาไทย
    • 한국어
    • 日本語
    • 简体中文
    • 繁體中文
  • Have an account? Log in
    Have an account?
    · Forgot password?

    New to Twitter?
    Sign up
innovati's profile
Tommy Hodgins
Tommy Hodgins
Tommy Hodgins
@innovati

Tweets

Tommy Hodgins

@innovati

/U(I|X) De(sign|velop)er/ • creator of EQCSS • author of http://responsive.style  • makes plugins • husband to @legalmoniker • frontend dev for @realestatemogul

Toronto
tomhodgins.com
Joined November 2007

Tweets

  • © 2018 Twitter
  • About
  • Help Center
  • Terms
  • Privacy policy
  • Cookies
  • Ads info
Dismiss
Previous
Next

Go to a person's profile

Saved searches

  • Remove
  • In this conversation
    Verified accountProtected Tweets @
Suggested users
  • Verified accountProtected Tweets @
  • Verified accountProtected Tweets @

Promote this Tweet

Block

  • Tweet with a location

    You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more

    Your lists

    Create a new list


    Under 100 characters, optional

    Privacy

    Copy link to Tweet

    Embed this Tweet

    Embed this Video

    Add this Tweet to your website by copying the code below. Learn more

    Add this video to your website by copying the code below. Learn more

    Hmm, there was a problem reaching the server.

    By embedding Twitter content in your website or app, you are agreeing to the Twitter Developer Agreement and Developer Policy.

    Preview

    Why you're seeing this ad

    Log in to Twitter

    · Forgot password?
    Don't have an account? Sign up »

    Sign up for Twitter

    Not on Twitter? Sign up, tune into the things you care about, and get updates as they happen.

    Sign up
    Have an account? Log in »

    Two-way (sending and receiving) short codes:

    Country Code For customers of
    United States 40404 (any)
    Canada 21212 (any)
    United Kingdom 86444 Vodafone, Orange, 3, O2
    Brazil 40404 Nextel, TIM
    Haiti 40404 Digicel, Voila
    Ireland 51210 Vodafone, O2
    India 53000 Bharti Airtel, Videocon, Reliance
    Indonesia 89887 AXIS, 3, Telkomsel, Indosat, XL Axiata
    Italy 4880804 Wind
    3424486444 Vodafone
    » See SMS short codes for other countries

    Confirmation

     

    Welcome home!

    This timeline is where you’ll spend most of your time, getting instant updates about what matters to you.

    Tweets not working for you?

    Hover over the profile pic and click the Following button to unfollow any account.

    Say a lot with a little

    When you see a Tweet you love, tap the heart — it lets the person who wrote it know you shared the love.

    Spread the word

    The fastest way to share someone else’s Tweet with your followers is with a Retweet. Tap the icon to send it instantly.

    Join the conversation

    Add your thoughts about any Tweet with a Reply. Find a topic you’re passionate about, and jump right in.

    Learn the latest

    Get instant insight into what people are talking about now.

    Get more of what you love

    Follow more accounts to get instant updates about topics you care about.

    Find what's happening

    See the latest conversations about any topic instantly.

    Never miss a Moment

    Catch up instantly on the best stories happening as they unfold.

    1. Tommy Hodgins‏ @innovati 1 Dec 2017

      Day 1/25 😁 Build like you're using CSS variables—even in browsers that don't support them—with Cascading JS Variables! - plugin: https://github.com/tomhodgins/cascading-js-variables … - demo: https://tomhodgins.github.io/cascading-js-variables/tests/demo.html … #merryCSSmas #css #tips #cssvariables #jsincss #rwd #webdev #jspic.twitter.com/D4J3nhaMYY

      2 replies 6 retweets 30 likes
      Show this thread
      Tommy Hodgins‏ @innovati 2 Dec 2017

      Day 2/25 ⛄ reproCSS lets you add a process="" attribute for interpolating JS anywhere inside <style> tags! - plugin: https://github.com/tomhodgins/reprocss … - demos: https://codepen.io/collection/nVmzEO/ … #merryCSSmas #css #reproCSS #jsincss #responsive #webdesign #creativecodingpic.twitter.com/NjJtZHfjQS

      9:06 AM - 2 Dec 2017
      • 5 Likes
      • xem 🔵‏ Mauro Reis Vieira Marths Bot Kellie Hodgins Joan Boixadós
      1 reply 0 retweets 5 likes
        1. New conversation
        2. Tommy Hodgins‏ @innovati 3 Dec 2017

          Day 3/25 🎄 Have you ever wished you could style the parent of an element? Now you can with the Parent Selector Mixin! - plugin: https://github.com/tomhodgins/reprocss/blob/master/mixins/parent-selector.js … - demo: https://codepen.io/tomhodgins/pen/pwQGdv … #merryCSSmas #css #selector #parentselector #jsincss #rwd #responsivepic.twitter.com/MiJ0d2MWDE

          Using the parent selector mixin from JS in CSS to apply green and red coloring to the parent of every LI element
          1 reply 1 retweet 6 likes
          Show this thread
        3. Tommy Hodgins‏ @innovati 4 Dec 2017

          Day 4/25 🔔 Use the cursor's current position as values inside your CSS styles with Cursory - plugin: https://github.com/tomhodgins/cssplus#cursory-mousetouch-cursor-variables … - demo: https://codepen.io/tomhodgins/pen/xdXdpZ … #merryCSSmas #css #mouse #cursor #variable #interactive #reactive #animated #responsivepic.twitter.com/FLgquiTbWl

          Using calc in CSS to set the top and left property of an element to the cursor's X and Y position
          1 reply 0 retweets 3 likes
          Show this thread
        4. Tommy Hodgins‏ @innovati 5 Dec 2017

          Day 5/25 ❄ Customize the specificity of the CSS selectors you are writing with reSpec! - plugin: https://github.com/tomhodgins/respec … - demo: https://codepen.io/tomhodgins/pen/mBzywr … #merryCSSmas #css #custom #selector #specificity #frameworks #librariespic.twitter.com/VnhLHwGClo

          Using the respec plugin to assign different specificity to CSS rules than the selectors would normally have
          1 reply 0 retweets 5 likes
          Show this thread
        5. Tommy Hodgins‏ @innovati 6 Dec 2017

          Day 6/25 🌟 Expose properties of DOM nodes via CSS variables with Varius to style based on an elements own width, height, characters, children, and scroll position! - plugin: https://github.com/tomhodgins/varius … - demo: https://codepen.io/tomhodgins/pen/GvmaQy … #merryCSSmas #cssvariables #reactive #css #rwdpic.twitter.com/4yo0dxQjmY

          Setting the background of a textarea element to a colour based on how many characters of text it contains. And also setting the height of an iframe based on its current widths on the page and a desired aspect ratio.
          1 reply 0 retweets 4 likes
          Show this thread
        6. Tommy Hodgins‏ @innovati 7 Dec 2017

          Day 7/25 🎅 Interpolate JavaScript ~anywhere~ inside CSS using ${} with this simple JS-in-CSS reprocessor! - plugin: https://gist.github.com/tomhodgins/b8697d6599b2cda60bb7e77e5f2387fe … - demo: https://codepen.io/tomhodgins/pen/dZYRdv … #merryCSSmas #css #reprocessor #style #scoping #js #interpolation #jsincsspic.twitter.com/G35RrybX6h

          Using JavaScript interpolation in CSS to scope a contained stylesheet, to help resolve a selector, or to help power a property's value
          1 reply 0 retweets 2 likes
          Show this thread
        7. Tommy Hodgins‏ @innovati 8 Dec 2017

          Day 8/25 🎁 Define height based on a ratio and the element's current width with the Aspect Ratio Mixin - plugin: https://github.com/tomhodgins/reprocss/blob/master/mixins/aspect-ratio.js … - demo: https://codepen.io/tomhodgins/pen/pwOjjL … #merryCSSmas #responsive #aspectratio #iframe #css #webdev #wedbdesign #rwdpic.twitter.com/lEzsaqjYpy

          Setting the aspect ratio of all iframes to 16 by 9
          1 reply 1 retweet 3 likes
          Show this thread
        8. Tommy Hodgins‏ @innovati 9 Dec 2017

          Day 9/25 😆 An easy to use syntax for expressing element queries with QSS - plugin: https://github.com/tomhodgins/qss  - demo: https://codepen.io/tomhodgins/pen/oodpMR … #merryCSSmas #css #elementqueries #rwd #containerqueries #creativecoding #syntaxpic.twitter.com/h6zdR2S88u

          Using two phrase types to express element queries: IF width greater or equal to 300, and AT above 300 width, both do the same thing.
          1 reply 1 retweet 3 likes
          Show this thread
        9. Tommy Hodgins‏ @innovati 10 Dec 2017

          Day 10/25 🌲 Simple container queries plugins written in ES5 and ES6 with Container Queries Mixin (stylesheet edition) - plugin: https://gist.github.com/tomhodgins/fc42b334beaafc75a271b1ef7c8e33ee … - demo: https://tomhodgins.github.io/js-in-css/tests/container-queries.html … #merryCSSmas #containerqueries #elementqueries #css #rwd #jsincsspic.twitter.com/LQETScJZCW

          Using the container query mixin to apply a green background to any DIV element that is wider than 500 pixels
          1 reply 0 retweets 3 likes
          Show this thread
        10. Tommy Hodgins‏ @innovati 11 Dec 2017

          Day 11/25 ✨ Use DOM properties of elements as CSS variables for styling with Varsity - plugin: https://github.com/tomhodgins/cssplus#varsity-scoped-variables … - demo: https://codepen.io/tomhodgins/pen/RVLzZB … #merryCSSmas #css #variable #props #rwd #responsivepic.twitter.com/0nM3i8sgpv

          Using an element's own offsetLeft and offsetWidth and combining that with the cursor's current position to help style a box shadow
          1 reply 0 retweets 3 likes
          Show this thread
        11. Tommy Hodgins‏ @innovati 12 Dec 2017

          Day 12/25 🛍 Allow elements (like textarea or input) to expand to fit their content with Auto Expand Mixin - plugin: https://github.com/tomhodgins/reprocss/blob/master/mixins/auto-expand.js … - demo: https://codepen.io/tomhodgins/pen/gRBLZY … #merryCSSmas #autoexpand #responsive #rwdpic.twitter.com/SXhCcRIVDT

          Setting a textarea to auto expand in height, and an input tag to autoexpand in width
          1 reply 0 retweets 3 likes
          Show this thread
        12. Tommy Hodgins‏ @innovati 13 Dec 2017

          Day 13/25 😍 Use element queries via custom <link> tag attributes to toggle stylesheets with Slinky - plugin: https://github.com/tomhodgins/slinky … - demo: https://tomhodgins.github.io/slinky/tests/demo.html … #merryCSSmas #elementqueries #containerqueries #rwd #responsivepic.twitter.com/Bcv9gVsz2p

          Adding additional attributes to a link tag: specifying a CSS selector, a JS test, and list of JS events
          1 reply 7 retweets 33 likes
          Show this thread
        13. Tommy Hodgins‏ @innovati 14 Dec 2017

          Day 14/25 🤶 Use XPath selectors to target elements with CSS styles with XPath Selector Mixin - plugin: https://github.com/tomhodgins/reprocss/blob/master/mixins/xpath-selector.js … - demo: https://codepen.io/tomhodgins/pen/EojyWQ … #merryCSSmas #xpath #selector #css #parent #ancestorpic.twitter.com/k3euADb8lZ

          Using XPath to select elements by a tag name, class, text content, a child it contains, by comparing its attribute value as a number, and by counting its children
          1 reply 0 retweets 2 likes
          Show this thread
        14. Tommy Hodgins‏ @innovati 15 Dec 2017

          Day 15/25 ☃️ Add JavaScript tests to CSS selectors to determine if a style should apply with Selectory - plugin: https://github.com/tomhodgins/cssplus#selectory-a-selector-resolver … - demo: https://codepen.io/tomhodgins/pen/ZKmXXw … - test ideas: https://codepen.io/tomhodgins/post/useful-tests-for-js-powered-styling … #merryCSSmas #elementqueries #containerqueries #jsincss #selectorspic.twitter.com/mLtBukOTQ4

          Setting JavaScript tests inside CSS attribute selectors to style elements based on their own width, number of characters of text, number of child elements, and whether or not they contain specific elements or not
          1 reply 1 retweet 0 likes
          Show this thread
        15. Tommy Hodgins‏ @innovati 16 Dec 2017

          Day 16/25 🙇‍♂️ Target the closest ancestor to an element matching a CSS selector with the Closest Ancestor Mixin - plugin: https://github.com/tomhodgins/reprocss/blob/master/mixins/closest-selector.js … - demo: https://codepen.io/tomhodgins/pen/gRQqGB … #merryCSSmas #css #parent #ancestor #closest #selectorpic.twitter.com/FoIjvM702y

          Applying a style to the closest .target element to any #start element
          1 reply 0 retweets 0 likes
          Show this thread
        16. Tommy Hodgins‏ @innovati 17 Dec 2017

          Day 17/25 🎄 Use the scroll position of an element as values in CSS with Scrollery - plugin: https://github.com/tomhodgins/cssplus#scrollery-scroll-position-variables … - demo: https://codepen.io/tomhodgins/pen/jwPBoV … #merryCSSmas #css #variables #cssvariables #rwdpic.twitter.com/uaxa1oWniZ

          Using the scroll top value of one element to determine the styling of another element
          1 reply 0 retweets 2 likes
          Show this thread
        17. Tommy Hodgins‏ @innovati 18 Dec 2017

          Day 18/25 ⭐️ Evaluate JavaScript from the context of each element with the Scoped Eval Mixin - plugin: https://github.com/tomhodgins/reprocss/blob/master/mixins/scoped-eval.js … - demo: https://codepen.io/tomhodgins/pen/dRQaZJ … #merryCSSmas #JS #CSS #JSinCSS #scoped #styles #interpolation #evalpic.twitter.com/p6X8tMKraD

          Using the scoped eval plugin to set the height of each tag matching a CSS selector based on its own rendered width on the page individually
          1 reply 0 retweets 0 likes
          Show this thread
        18. Tommy Hodgins‏ @innovati 19 Dec 2017

          Day 19/25 ❄️ An experimental container queries plugin using ResizeObserver with RobServ - plugin& demo: https://codepen.io/tomhodgins/pen/MERNEY … #merryCSSmas #responsive #css #elementqueries #resizeObserver #containerqueries #rwdpic.twitter.com/9SDJuDxV7H

          Formatting element queries as JSON data to be loaded into the Robserv plugin
          1 reply 0 retweets 0 likes
          Show this thread
        19. Tommy Hodgins‏ @innovati 20 Dec 2017

          Day 20/25 💚 Select the element directly preceding another element with Prev Selector Mixin - plugin: https://github.com/tomhodgins/reprocss/blob/master/mixins/prev-selector.js … - demo: https://codepen.io/tomhodgins/pen/awQXVJ … #merryCSSmas #css #prev #selector #jsincsspic.twitter.com/cTSHfXaJD6

          Applying a green background to any tag that comes directly before a .target element
          1 reply 0 retweets 3 likes
          Show this thread
        20. Tommy Hodgins‏ @innovati 21 Dec 2017

          Day 21/25 🎁 A JavaScript plugin that adds support for a custom --aspect-ratio property in CSS with Aspecty - plugin: https://github.com/tomhodgins/cssplus#aspecty-an-aspect-ratio-property … - demo: https://codepen.io/tomhodgins/pen/gWJKKy … #merryCSSmas #aspectratio #css #rwd #responsive #webdesignpic.twitter.com/QBXN1XCU2N

          Styling the height of an iframe based on the aspect ratio of 16 by 9
          1 reply 0 retweets 2 likes
          Show this thread
        21. Tommy Hodgins‏ @innovati 22 Dec 2017

          Day 22/25 ☃️ apply styles to all ancestor elements matching a CSS selector with Ancestor Selector Mixin - plugin: https://github.com/tomhodgins/reprocss#ancestor-selector-mixin … - demo: https://codepen.io/tomhodgins/pen/VzRwMZ … #merryCSSmas #css #ancestor #selectorpic.twitter.com/V6OlGJ2XUW

          Styling all ancestors of tags with a class of 'demo' that have a class of 'example'
          1 reply 0 retweets 0 likes
          Show this thread
        22. Tommy Hodgins‏ @innovati 23 Dec 2017

          Day 23/25 🤶 Apply styles to all elder siblings of elements matching a CSS selector with Elder Selector Mixin - plugin: https://github.com/tomhodgins/reprocss#elder-selector-mixin … - demo: https://codepen.io/tomhodgins/pen/GvVaLv … #merryCSSmas #elder #sibling #selectorpic.twitter.com/QiCZXqHjV8

          Styling all elder siblings of tags with a class of 'target'
          1 reply 0 retweets 1 like
          Show this thread
        23. Tommy Hodgins‏ @innovati 24 Dec 2017

          Day 24/25 😄 Do (almost) everything listed so far this month all in one plugin with EQCSS - plugin: http://elementqueries.com  - demo: https://codepen.io/tomhodgins/pen/NrxqPo … #merryCSSmas #eqcss #elementqueries #containerqueries #rwdpic.twitter.com/GF6DLFLTmT

          Target all DIV elements wider than 500 pixels for styilng
          1 reply 0 retweets 2 likes
          Show this thread
        24. Tommy Hodgins‏ @innovati 24 Dec 2017

          Day 25/25 🎅 Excited to finally release a new kind of HTML compiler I've been working on. It lets you write Container Queries and compile them down to native CSS media queries. - view on Github: https://github.com/tomhodgins/qompile … #merryCSSmas #elementqueries #containerqueries #css #rwdpic.twitter.com/iLEAiPQjVu

          Releasing Qompile version 1
          1 reply 0 retweets 5 likes
          Show this thread
        25. Tommy Hodgins‏ @innovati 24 Dec 2017

          It won't do everything that element query JS runtimes are capable of, but I've identified a subset of container queries and element queries that can be predicted in advance—or at least prerendered—and the results recorded in vanilla CSS! #serversideelementqueries

          1 reply 0 retweets 0 likes
          Show this thread
        26. Tommy Hodgins‏ @innovati 24 Dec 2017

          Start with any HTML, then you can write a JS-in-CSS stylesheet against it, including element queries and container queries using the built-in containerQuery() function: - Example input HTML: https://github.com/tomhodgins/qompile/blob/master/test/src/widget.html … - Example input JS-in-CSS:https://github.com/tomhodgins/qompile/blob/master/test/src/widget.jic …

          1 reply 0 retweets 1 like
          Show this thread
        27. Tommy Hodgins‏ @innovati 24 Dec 2017

          Of course, nobody ~wants~ to compile their files before they can preview or debug them while building, so it also includes a JS runtime you can use to preview and test your files before compiling: - Example live preview: https://tomhodgins.github.io/qompile/test/widget-live.html …

          1 reply 0 retweets 0 likes
          Show this thread
        28. Tommy Hodgins‏ @innovati 24 Dec 2017

          The next step is where the magic happens! Once you're ready to compile, you can run the compiler and it will render the page in a headless web browser at various widths and record the results: - Example compiled output: https://tomhodgins.github.io/qompile/test/widget-external.html …

          1 reply 0 retweets 0 likes
          Show this thread
        29. Tommy Hodgins‏ @innovati 24 Dec 2017

          As the compiler changes the width of the headless web browser, it will make all of the necessary changes to the DOM, as well as record the resulting CSS that needs to be generated to recreate the same layout, and then wraps the output in CSS media queries.

          1 reply 0 retweets 0 likes
          Show this thread
        30. Tommy Hodgins‏ @innovati 24 Dec 2017

          Potential uses for compiling Container Queries to vanilla CSS: - native CSS fallback for a JS runtime - served alongside a JS runtime to help get to first paint (before the JS plugin has had a chance to kick in) - can be used for element queries on non-dynamic HTML too

          1 reply 0 retweets 0 likes
          Show this thread
        31. Tommy Hodgins‏ @innovati 24 Dec 2017

          Qompile v1 is out today, grab it from Github or npm and you can start playing around with this technique today! - download on npm:http://npmjs.com/package/qompile 

          1 reply 0 retweets 1 like
          Show this thread
        32. 1 more reply

      Loading seems to be taking a while.

      Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.

        Promoted Tweet

        false

        • © 2018 Twitter
        • About
        • Help Center
        • Terms
        • Privacy policy
        • Cookies
        • Ads info