Integrate avatar into badge in EJ2 JavaScript Avatar control

8 May 202324 minutes to read

The badge is dependent and supportive component, and it can be used with avatar to create a notification avatar.
The default avatar (.e-avatar) and circle avatar (.e-avatar-circle) have been used with notification badges (.e-badge-notification) in the following sample.

<!DOCTYPE html><html lang="en"><head>
    <title>Essential JS 2 for Avatar </title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Essential JS 2 for Avatar UI Control">
    <meta name="author" content="Syncfusion">
    <link href="index.css" rel="stylesheet">
    <link href="https://cdn.syncfusion.com/ej2/26.2.4/ej2-base/styles/material.css" rel="stylesheet">
    <link href="https://cdn.syncfusion.com/ej2/26.2.4/ej2-layouts/styles/material.css" rel="stylesheet">
    <link href="https://cdn.syncfusion.com/ej2/26.2.4/ej2-notifications/styles/material.css" rel="stylesheet">
    

    <script src="https://cdn.syncfusion.com/ej2/26.2.4/dist/ej2.min.js" type="text/javascript"></script>
<script src="https://cdn.syncfusion.com/ej2/syncfusion-helper.js" type ="text/javascript"></script>
</head>

<body>

    <div id="container">
        <div id="element">
            <div class="sample_container avatar-badge">
                <div class="avatar-block">
                    <!-- Card Component -->
                    <div class="e-card e-avatar-showcase">
                        <div class="e-card-content">
                            <div class="avatar-sub-block">
                                <!-- xSmall Avatar-->
                                <div class="e-avatar e-avatar-xsmall">
                                    <img src="//ej2.syncfusion.com/javascript/demos/src/avatar/images/pic01.png" alt="profile_pic" />
                                </div>
                                <!-- Notification Badge -->
                                <span class="e-badge e-badge-primary e-badge-overlap e-badge-notification e-badge-circle">6</span>
                            </div>
                            <div class="avatar-sub-block">
                                <!-- Small Avatar-->
                                <div class="e-avatar e-avatar-small">
                                    <img src="//ej2.syncfusion.com/javascript/demos/src/avatar/images/pic01.png" alt="profile_pic" />
                                </div>
                                <!-- Notification Badge -->
                                <span class="e-badge e-badge-primary e-badge-overlap e-badge-notification e-badge-circle">12</span>
                            </div>
                            <div class="avatar-sub-block">
                                <!-- Avatar-->
                                <div class="e-avatar">
                                    <img src="//ej2.syncfusion.com/javascript/demos/src/avatar/images/pic01.png" alt="profile_pic" />
                                </div>
                                <!-- Notification Badge -->
                                <span class="e-badge e-badge-primary e-badge-overlap e-badge-notification">46</span>
                            </div>
                            <div class="avatar-sub-block">
                                <!-- Large Avatar-->
                                <div class="e-avatar e-avatar-large">
                                    <img src="//ej2.syncfusion.com/javascript/demos/src/avatar/images/pic01.png" alt="profile_pic" />
                                </div>
                                <!-- Notification Badge -->
                                <span class="e-badge e-badge-primary e-badge-overlap e-badge-notification">82</span>
                            </div>
                            <div class="avatar-sub-block">
                                <!-- xLarge Avatar-->
                                <div class="e-avatar e-avatar-xlarge">
                                    <img src="//ej2.syncfusion.com/javascript/demos/src/avatar/images/pic01.png" alt="profile_pic" />
                                </div>
                                <!-- Notification Badge -->
                                <span class="e-badge e-badge-primary e-badge-overlap e-badge-notification">99+</span>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="circleAvatar avatar-block">
                    <!-- Card Component -->
                    <div class="e-card e-avatar-showcase">
                        <div class="e-card-content">
                            <div class="avatar-sub-block">
                                <!-- xSmall Circle Avatar-->
                                <div class="e-avatar e-avatar-circle e-avatar-xsmall">
                                    <img src="//ej2.syncfusion.com/javascript/demos/src/avatar/images/pic01.png" alt="profile_pic" />
                                </div>
                                <!-- Notification Badge -->
                                <span class="e-badge e-badge-primary e-badge-overlap e-badge-notification e-badge-circle">6</span>
                            </div>
                            <div class="avatar-sub-block">
                                <!-- Small Circle Avatar-->
                                <div class="e-avatar e-avatar-circle e-avatar-small">
                                    <img src="//ej2.syncfusion.com/javascript/demos/src/avatar/images/pic01.png" alt="profile_pic" />
                                </div>
                                <!-- Notification Badge -->
                                <span class="e-badge e-badge-primary e-badge-overlap e-badge-notification e-badge-circle">12</span>
                            </div>
                            <div class="avatar-sub-block">
                                <!-- Circle Avatar-->
                                <div class="e-avatar e-avatar-circle">
                                    <img src="//ej2.syncfusion.com/javascript/demos/src/avatar/images/pic01.png" alt="profile_pic" />
                                </div>
                                <!-- Notification Badge -->
                                <span class="e-badge e-badge-primary e-badge-overlap e-badge-notification">46</span>
                            </div>
                            <div class="avatar-sub-block">
                                <!-- Large Circle Avatar-->
                                <div class="e-avatar e-avatar-circle e-avatar-large">
                                    <img src="//ej2.syncfusion.com/javascript/demos/src/avatar/images/pic01.png" alt="profile_pic" />
                                </div>
                                <!-- Notification Badge -->
                                <span class="e-badge e-badge-primary e-badge-overlap e-badge-notification">82</span>
                            </div>
                            <div class="avatar-sub-block">
                                <!-- xLarge Circle Avatar-->
                                <div class="e-avatar e-avatar-circle e-avatar-xlarge">
                                    <img src="//ej2.syncfusion.com/javascript/demos/src/avatar/images/pic01.png" alt="profile_pic" />
                                </div>
                                <!-- Notification Badge -->
                                <span class="e-badge e-badge-primary e-badge-overlap e-badge-notification">99+</span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <style>
            .control-section {
                overflow: auto;
                padding-left: 0px;
                padding-right: 0px;
            }

            .sample_container.avatar-badge .avatar-sub-block {
                display: inline-block;
                position: relative;
                margin: 7px;
            }

            .sample_container.avatar-badge .avatar-block {
                display: inline-block;
                vertical-align: top;
            }

            /* Media Queries for various devices */

            @media only screen and (max-width: 965px) {
                .sample_container.avatar-badge {
                    max-width: 332px;
                    margin: auto;
                    margin-top: 0;
                }

                .circleAvatar {
                    margin-top: 15px;
                }

                .e-avatar-showcase.e-card {
                    width: 320px;
                }
            }

            @media only screen and (min-width: 965px) {
                .sample_container.avatar-badge {
                    max-width: 825px;
                    margin: auto;
                    margin-top: 70px;
                }

                .e-avatar-showcase.e-card {
                    width: 400px;
                }
            }

            .e-avatar.image {
                background-repeat: no-repeat;
                background-size: cover;
                background-position: center;
            }

            /* Card Customization */

            .e-avatar-showcase.e-card {
                height: 140px;
                padding: 4px;
                margin: 5px;
                box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12),
                    0 1px 2px rgba(0, 0, 0, 0.24);
                border-radius: 8px;
            }

            .e-avatar-showcase.e-card .e-card-header .e-card-header-title {
                align-self: center;
                font-size: 18px;
                letter-spacing: 1px;
                text-shadow: #eaeaea 1px 1px 2px;
            }

            .e-avatar-showcase.e-card .e-card-header .e-card-sub-title {
                color: rgba(0, 0, 0, 0.75);
                white-space: pre-line;
                font-size: 14px;
                text-shadow: #eaeaea 1px 1px 2px;
            }

            .e-avatar-showcase.e-card .e-card-header .e-card-sub-title p {
                margin: 0;
            }

            .e-avatar-showcase.e-card .e-card-content {
                overflow: visible;
                align-self: center;
                padding: 10px 11px 10px 0px;
                color: rgba(0, 0, 0, 0.75);
            }

            .bootstrap4 .e-avatar-showcase.e-card {
                box-shadow: none;
            }
        </style>
    </div>
    <script>
        var ele = document.getElementById('container');
        if (ele) {
            ele.style.visibility = "visible";
        }
    </script>
    <script src="index.js" type="text/javascript"></script>
</body></html>