Before .NET Standard 2.0, there was Portable Class Libraries (PCL). With PCLs, you can create a library of code and explicitly specify which platforms you want the library to support, such as Xamarin, Silverlight, and Windows 8. Your library can then use the intersection of APIs that are supported by the specified platforms.
Microsoft realized that this is unsustainable, so they have been working on .NET Standard 2.0—a single API that all future .NET platforms will support. There are older versions of .NET Standard, but they are not supported by multiple .NET platforms.
.NET Standard 2.0 is similar to HTML5 in that they are both standards that a platform should support. Just as Google's Chrome browser and Microsoft's Edge browser implement HTML5 standard, so .NET Core and Xamarin implement .NET Standard 2.0.
If you want to create a library of types that will work across .NET Framework (on Windows), .NET Core (on Windows, macOS...