Monday, April 15, 2024

Some Cross-Browser DevTools Options You Would possibly Not Know | CSS-Tips

I spend loads of time in DevTools, and I’m certain you do too. Typically I even bounce between them, particularly after I’m debugging cross-browser points. DevTools is quite a bit like browsers themselves — not the entire options in a single browser’s DevTools would be the identical or supported in one other browser’s DevTools.

However there are fairly just a few DevTools options which can be interoperable, even some lesser-known ones that I’m about to share with you.

For the sake of brevity, I exploit “Chromium” to confer with all Chromium-based browsers, like Chrome, Edge, and Opera, within the article. Lots of the DevTools in them provide the very same options and capabilities as each other, so that is simply my shorthand for referring to all of them directly.

Search nodes within the DOM tree

Typically the DOM tree is stuffed with nodes nested in nodes which can be nested in different nodes, and so forth. That makes it fairly robust to seek out the precise one you’re on the lookout for, however you may shortly search the DOM tree utilizing Cmd + F (macOS) or Ctrl + F (Home windows).

Moreover, you can too search utilizing a sound CSS selector, like .purple, or utilizing an XPath, like //div/h1.

DevTools screenshots of all three browsers.
Looking out textual content in Chrome DevTools (left), selectors in Firefox DevTools (heart), and XPath in Safari DevTools (proper)

In Chromium browsers, the main focus routinely jumps to the node that matches the search standards as you kind, which could possibly be annoying in case you are working with longer search queries or a big DOM tree. Thankfully, you may disable this habits by heading to Settings (F1) → PreferencesWorldSearch as you kindDisable.

After you will have positioned the node within the DOM tree, you may scroll the web page to carry the node throughout the viewport by right-clicking on the nod, and deciding on “Scroll into view”.

Showing a highlighted node on a webpage with a contextual menu open to scroll into view

Entry nodes from the console

DevTools gives many various methods to entry a DOM node instantly from the console.

For instance, you should use $0 to entry the at present chosen node within the DOM tree. Chromium browsers take this one step additional by permitting you to entry nodes chosen within the reverse chronological order of historic choice utilizing, $1, $2, $3, and so on.

Currently selected node accessed from the Console in Edge DevTools

One other factor that Chromium browsers will let you do is copy the node path as a JavaScript expression within the type of doc.querySelector by right-clicking on the node, and deciding on CopyCopy JS path, which might then be used to entry the node within the console.

Right here’s one other approach to entry a DOM node instantly from the console: as a brief variable. This feature is offered by right-clicking on the node and deciding on an possibility. That possibility is labeled in a different way in every browser’s DevTools:

  • Chromium: Proper click on → “Retailer as international variable”
  • Firefox: Proper click on → “Use in Console”
  • Safari: Proper click on → “Log Ingredient”
Screenshot of DevTools contextual menus in all three browsers.
Entry a node as a brief variable within the console, as proven in Chrome (left), Firefox (heart), and Safari (proper)

Visualize components with badges

DevTools may also help visualize components that match sure properties by displaying a badge subsequent to the node. Badges are clickable, and completely different browsers provide a wide range of completely different badges.

In Safari, there’s a badge button within the Parts panel toolbar which can be utilized to toggle the visibility of particular badges. For instance, if a node has a show: grid or show: inline-grid CSS declaration utilized to it, a grid badge is displayed subsequent to it. Clicking on the badge will spotlight grid areas, monitor sizes, line numbers, and extra, on the web page.

A grid overlay visualized on top of a three-by-three grid.
Grid overlay with badges in Safari DevTools

The badges which can be at present supported in Firefox’s DevTools are listed within the Firefox supply docs. For instance, a scroll badge signifies a scrollable aspect. Clicking on the badge highlights the aspect inflicting the overflow with an overflow badge subsequent to it.

Overflow badge in Firefox DevTools located in the HTML panel

In Chromium browsers, you may right-click on any node and choose “Badge settings…” to open a container that lists the entire out there badges. For instance, components with scroll-snap-type could have a scroll-snap badge subsequent to it, which on click on, will toggle the scroll-snap overlay on that aspect.

Taking screenshots

We’ve been in a position to take screenshots from some DevTools for some time now, nevertheless it’s now out there in all of them and contains new methods to take full-page photographs.

The method begins by right-clicking on the DOM node you wish to seize. Then choose the choice to seize the node, which is labeled in a different way relying on which DevTools you’re utilizing.

Screenshot of DevTools in all three browsers.
Chrome (left), Safari (center), and Firefox (proper)

Repeat the identical steps on the html node to take a full-page screenshot. While you do, although, it’s value noting that Safari retains the transparency of the aspect’s background colour — Chromium and Firefox will seize it as a white background.

Two screenshots of the same element, one with a background and one without.
Evaluating screenshots in Safari (left) and Chromium (proper)

There’s another choice! You possibly can take a “responsive” screenshot of the web page, which lets you seize the web page at a particular viewport width. As you would possibly count on, every browser has other ways to get there.

  • Chromium: Cmd + Shift + M (macOS) or Ctrl + Shift + M (Home windows). Or click on the “Gadgets” icon subsequent to the “Examine” icon.
  • Firefox: Instruments → Browser Instruments → “Responsive Design Mode”
  • Safari: Develop → “Enter Responsive Design Mode”
Enter responsive mode options in DevTools for all three browsers.
Launching responsive design mode in Safari (left), Firefox (proper), and Chromium (backside)

Chrome tip: Examine the highest layer

Chrome helps you to visualize and examine top-layer components, like a dialog, alert, or modal. When a component is added to the #top-layer, it will get a top-layer badge subsequent to it, which on click on, jumps you to the top-layer container positioned simply after the </html> tag.

The order of the weather within the top-layer container follows the stacking order, which suggests the final one is on the highest. Click on the reveal badge to leap again to the node.

Firefox tip: Leap to ID

Firefox hyperlinks the aspect referencing the ID attribute to its goal aspect in the identical DOM and highlights it with an underline. Use CMD + Click on (macOS) or CTRL + Click on (Home windows) )to leap to the goal aspect with the identifier.

Wrapping up

Fairly just a few issues, proper? It’s superior that there are some extremely helpful DevTools options which can be supported in Chromium, Firefox, and Safari alike. Are there every other lesser-known options supported by all three that you simply like?

There are just a few sources I maintain shut by to remain on prime of what’s new. I believed I’d share them with right here:

Related Articles


Please enter your comment!
Please enter your name here

Latest Articles