How to add close button to bootstrap card

Let’s build a dismissible card without any custom JavaScript and only with Bootstrap CSS classes.

the combination of card-headerthe Bootstrap 4 Close Icon and negative margins (here .mt-n5) on the card-body. The close icon gets nicely positioned within the card-header and the negative margins pull the card content closer into the header area.

<div class="container">
  <div id="closeablecard" class="card card-hover-shadow mt-4">
    <div class="card-header bg-transparent border-bottom-0">
      <button data-dismiss="alert" data-target="#closeablecard" type="button" class="close" aria-label="Close">
        <span aria-hidden="true">&times;</span>
      </button>
    </div>
    <div class="card-body mt-n5">
      <h5 class="card-title">Your Title</h5>
      <p class="card-text">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem recusandae voluptate porro suscipit numquam distinctio ut. Qui vitae, ut non inventore necessitatibus quae doloribus rerum, quaerat commodi, nemo perferendis ab.
      </p>
      <a href="#" class="card-link">Card link</a>
      <a href="#" class="card-link">Another link</a>
    </div>
  </div>
</div>

To actually close the card we can make use of the BS4 Data-API and put the the following data attributes in the button tag: data-dismiss="alert" data-target="#closeablecard". data-target is the ID of our card and data-dismiss=alert triggers the actual close event in Bootstrap.

For BS5, make changes to data-* attributes. see below;

<button data-bs-dismiss="alert" data-bs-target="#closeablecard" type="button" class="close float-end" aria-label="Close">
    <span aria-hidden="true">&times;</span>
</button>

See a Demo on JSFiddle

References

https://stackoverflow.com/questions/43970878/how-to-add-close-button-to-bootstrap-card

https://stackoverflow.com/questions/23873005/hide-div-by-default-and-show-it-on-click-with-bootstrap

Difference between Bootstrap 4 and Bootstrap 5 

Here is the list;

BASIS OFBOOTSTRAP 4BOOTSTRAP 5
Grid SystemIt has 5 tier (xs, sm, md, lg, xl).It has 6 tier (xs, sm, md, lg, xl, xxl).
ColorIt has limited colors.Extra colors added with the looks, A card improved color palette. there are various shades available to choose.
JqueryIt has jquery and all related plugins.Jquery is removed and switched to vanilla JS with some working plugins
Internet ExplorerBootstrap 4 supports both IE 10 and 11.Bootstrap 5 doesn’t support IE 10 and 11.
Form elementsRadio buttons, checkboxes have different look in different OS and browsers. The form uses whatever default browsers provide.The look of form elements will not change, on different OS or browser. The forms can be customized and form controls can be added, they would not depend on browser. 
Utilities APIWe cannot modify utilities in bootstrap 4Bootstrap 5 gave freedom to modify and also create our own utility
GutterWe use .glutter with fontsize in pxWe use .g* with fontsize in rem
Vertical ClassesColumns can be positioned relativeColumns cannot be positioned relative
Bootstrap IconsBootstrap 4 doesn’t have its own SVG icons, we have to use font-awesome for icons.Bootstrap 5 have its own SVG icons
JumbotronIt supports.It doesn’t support jumbotron.
Card deckThe card deck is used to create a set of cards with equal width and height.Card deck class in removed in bootstrap
NavbarWe have inline-block property and we will get white dropdown as default for dropdown-menu-dark class.Inline-block property is removed and we will get black dropdown as default for dropdown-menu-dark class.
Static Site GeneratorBootstrap 4 uses Jekyll software.Bootstrap 5 uses Hugo software as it is fast static site generator.
flexbox gridthis makes easier to implement vertical designs, and the columns and rows can easily be implemented. the classes justify-center-content can directly be used to align according to the requirement.advanced grid system is made available , also columns don’t have relative positions.  
RTL SupportIt does not enable RTL(Right to Left) switching.It enables RTL(Right to Left) switching.
Offcanvas ComponentIt does not support Offcanvas Component.It supports Offcanvas Component(that is it is available now).

Reference

https://jekyllrb.com/

https://gohugo.io/

ASP.NET Core Telerik UI Configuration

This tutorial demonstrates how to start working with Telerik UI for ASP.NET Core. You will implement the Telerik UI DatePicker for ASP.NET Core in your project by using its dedicated HtmlHelper or TagHelper. In this guide, you will download and implement the components by using NuGet and Visual Studio 2022 for Windows.

The approach demonstrated in this guide is applicable both for new projects and for existing projects where you want to implement Telerik UI controls.

Click here to read about demonstrated approach for application configuration.

After configuration, Click here to read about getting started with Grid.

For applying different design pattern, click here.

SessionStorage property in JavaScript

The read-only sessionStorage property accesses a session Storage object for the current originsessionStorage is similar to localStorage; the difference is that while data in localStorage doesn’t expire, data in sessionStorage is cleared when the page session ends.

// Save data to sessionStorage
sessionStorage.setItem("key", "value");

// Get saved data from sessionStorage
let data = sessionStorage.getItem("key");

// Remove saved data from sessionStorage
sessionStorage.removeItem("key");

// Remove all saved data from sessionStorage
sessionStorage.clear();

This is a good candidate for saving text between refreshes. Here is an example;

// Get the text field that we're going to track
let field = document.getElementById("field");

// See if we have an autosave value
// (this will only happen if the page is accidentally refreshed)
if (sessionStorage.getItem("autosave")) {
  // Restore the contents of the text field
  field.value = sessionStorage.getItem("autosave");
}

// Listen for changes in the text field
field.addEventListener("change", () => {
  // And save the results into the session storage object
  sessionStorage.setItem("autosave", field.value);
});

Reference

https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage