
- CSS - Home
- CSS - Roadmap
- CSS - Introduction
- CSS - Syntax
- CSS - Inclusion
- CSS - Types
- CSS - Measurement Units
- CSS - Selectors
- CSS - Colors
- CSS - Backgrounds
- CSS - Fonts
- CSS - Text
- CSS - Images
- CSS - Links
- CSS - Tables
- CSS - Borders
- CSS - Border Block
- CSS - Border Inline
- CSS - Margins
- CSS - Lists
- CSS - Padding
- CSS - Cursor
- CSS - Outlines
- CSS - Dimension
- CSS - Scrollbars
- CSS - Inline Block
- CSS - Dropdowns
- CSS - Visibility
- CSS - Overflow
- CSS - Clearfix
- CSS - Float
- CSS - Arrows
- CSS - Resize
- CSS - Quotes
- CSS - Order
- CSS - Position
- CSS - Hyphens
- CSS - Hover
- CSS - Display
- CSS - Focus
- CSS - Zoom
- CSS - Translate
- CSS - Height
- CSS - Hyphenate Character
- CSS - Width
- CSS - Opacity
- CSS - Z-Index
- CSS - Bottom
- CSS - Navbar
- CSS - Overlay
- CSS - Forms
- CSS - Align
- CSS - Icons
- CSS - Image Gallery
- CSS - Comments
- CSS - Loaders
- CSS - Attr Selectors
- CSS - Combinators
- CSS - Root
- CSS - Box Model
- CSS - Counters
- CSS - Clip
- CSS - Writing Mode
- CSS - Unicode-bidi
- CSS - min-content
- CSS - All
- CSS - Inset
- CSS - Isolation
- CSS - Overscroll
- CSS - Justify Items
- CSS - Justify Self
- CSS - Tab Size
- CSS - Pointer Events
- CSS - Place Content
- CSS - Place Items
- CSS - Place Self
- CSS - Max Block Size
- CSS - Min Block Size
- CSS - Mix Blend Mode
- CSS - Max Inline Size
- CSS - Min Inline Size
- CSS - Offset
- CSS - Accent Color
- CSS - User Select
- CSS - Cascading
- CSS - Universal Selectors
- CSS - ID Selectors
- CSS - Group Selectors
- CSS - Class Selectors
- CSS - Child Selectors
- CSS - Element Selectors
- CSS - Descendant Selectors
- CSS - General Sibling Selectors
- CSS - Adjacent Sibling Selectors
- CSS Advanced
- CSS - Grid
- CSS - Grid Layout
- CSS - Flexbox
- CSS - Visibility
- CSS - Positioning
- CSS - Layers
- CSS - Pseudo Classes
- CSS - Pseudo Elements
- CSS - @ Rules
- CSS - Text Effects
- CSS - Paged Media
- CSS - Printing
- CSS - Layouts
- CSS - Validations
- CSS - Image Sprites
- CSS - Important
- CSS - Data Types
- CSS3 Advanced Features
- CSS - Rounded Corner
- CSS - Border Images
- CSS - Multi Background
- CSS - Color
- CSS - Gradients
- CSS - Box Shadow
- CSS - Box Decoration Break
- CSS - Caret Color
- CSS - Text Shadow
- CSS - Text
- CSS - 2d transform
- CSS - 3d transform
- CSS - Transition
- CSS - Animation
- CSS - Multi columns
- CSS - Box Sizing
- CSS - Tooltips
- CSS - Buttons
- CSS - Pagination
- CSS - Variables
- CSS - Media Queries
- CSS - Functions
- CSS - Math Functions
- CSS - Masking
- CSS - Shapes
- CSS - Style Images
- CSS - Specificity
- CSS - Custom Properties
- CSS Responsive
- CSS RWD - Introduction
- CSS RWD - Viewport
- CSS RWD - Grid View
- CSS RWD - Media Queries
- CSS RWD - Images
- CSS RWD - Videos
- CSS RWD - Frameworks
- CSS References
- CSS Interview Questions
- CSS Online Quiz
- CSS Online Test
- CSS Mock Test
- CSS - Quick Guide
- CSS - Cheatsheet
- CSS - Properties References
- CSS - Functions References
- CSS - Color References
- CSS - Web Browser References
- CSS - Web Safe Fonts
- CSS - Units
- CSS - Animation
- CSS Resources
- CSS - Useful Resources
- CSS - Discussion
CSS Function - attr()
The attr() function in CSS is used for the retrieval of the selected element's attribute value and later use it in the stylesheet. The function attr() can also be used on the pseudo-elements, where the function returns the pseudo-element's originating element's attribute value.
The attr() function can be used with any CSS property, but the support for content property is complete, whereas for the type-or-unit parameter is not thorough.
Possible values
The function attr() can take the following value as parameter(s).
attribute-name value: lists the name of the attribute on the HTML element that is referenced in CSS.
Syntax
attr(<attribute-name>)
CSS attr() - Content Property
Following is an example of attr() function. It will return the value of the attribute of selected elements, in this case it is an anchor element (a).
<html> <head> <style> a:before { content: attr(href) " ** "; } a { text-decoration-line: underline; color: red; } </style> </head> <body> <h2>The attr() Function</h2> <p>Insert ** before the anchor element</p> <a href="https://www.tutorialspoint.com"> Tutorialspoint </a> </body> </html>
The above example is adding two asterisk marks before the href attribute of <a> element. It is used with the 'content' property along with pseudo-element ::before.
CSS attr() - Using "title" attribute
Following is an example of attr() function. It will return the value of the "title" attribute of an abbreviation.
<html> <head> <style> abbr[title]:after { content: " (" attr(title) ")"; background-color: aquamarine; font-size: 1.2rem; } </style> </head> <body> <h2>"title" attribute of abbreviation</h2> <abbr title="Hyper Text Markup Language"> HTML </abbr> </body> </html>
CSS attr() - Using @media rule (Printed page)
Following is an example of attr() function, where a hyperlink is displayed on the printed version of the page. This is done using the @media rule. Have a look at the example:
<html> <head> <style> @media print { a[href]:after { content: " (" attr(href) ")"; } } </style> </head> <body> <h2>hyperlink on print media</h2> <p>Press Ctrl+P to print the page and see the url of the link</p> <a href="www.tutorialspoint.com" target="_blank" rel="no-follow">Tutorials point</a> </body> </html>
CSS attr() - Using Custom HTML5 Attribute
Following is an example of attr() function, where a custom attribute (sample-desc) is defined. Some value is passed to this attribute in a list. The same custom value is displayed and the list item where no value is passed to the custom property is provide, a blank is returned. Let us see the example:
<html> <head> <style> li:after { content: " (" attr(sample-desc) ")"; background-color: bisque; } </style> </head> <body> <h2>custom data attribute of HTML5</h2> <ul> <li sample-desc="Cascading Style Sheets"> CSS </li> <li sample-desc="Object-oriented Programming Language"> JavaScript </li> <li> HTML </li> <li sample-desc="Web Browser"> Chrome </li> <li sample-desc="Open-source JS Library"> React </li> </ul> </body> </html>