On fixed elements and backgrounds

Category Image 052

After just playing with apsect-ratio and being pleasantly surprised at how intuitive it is, here’s an example of CSS acting unintuitively:

If you have a fixed element on your page, which means it doesn’t move when you scroll, you might realise that it no longer acts fixed if you apply a CSS filter on its nearest ancestor. Go ahead, try it on the CodePen.

This is because applying a filter on the fixed element’s immediate parent makes it becoming the containing block instead of the viewport.

Hui Jing has more to teach in there about scrolling, rendering performance, and trickery with using pseudo elements to avoid issues.

I find this kind of thing among the most challenging CSS concepts to wrap my mind around, like Block Formatting Contexts (BFCs). A BFC Is A Mini Layout In Your Layout. 🤯

Direct Link to ArticlePermalink

The post On fixed elements and backgrounds appeared first on CSS-Tricks.

25 Beautiful Animal Portraits

Cosmeticsjpg
25 Beautiful Animal Portraits. Wildlife photography enables us to see a wide range of animals and wildlife from around the world.

Visit The Site For More...

How to Create a File Upload Form in WordPress

Category Image 091

Do you want to enable your website visitors to upload files on your contact form?

Maybe you are hiring employees and want to collect resumes, or perhaps you are running a photography contest where you need the applicant to attach files.

In this article, we will show you how to easily create a file upload form in WordPress.

Creating a File Upload form in WordPress

Why Create a File Upload Form in WordPress?

If you want to collect any kind of file from your users on your WordPress website, then a file upload form is a great idea.

You can let users upload images, PDF files, Word documents, or other types of files.

Using a file upload form makes life easy for you and your users. Instead of the email back-and-forth, you can create a form that includes all the fields you need, so you can collect all information at once.

Also, your form should automatically save the form data in your WordPress database. That way, you can easily find the submissions, even if you miss or delete an email.

That being said, let’s take a look at how to create a file upload form in WordPress.

How to Create a File Upload Form in WordPress

For this tutorial, we will be using WPForms, which is the best contact form plugin for WordPress.

First, you will need to install and activate the WPForms plugin. For more detailed instructions, check out our step-by-step guide on how to install a WordPress plugin.

Note: WPForms also offers a free version. However, you will need the Pro version of the plugin to unlock the file upload form template.

Upon activation, head to the WPForms » Add New page from the WordPress admin sidebar.

This will take you to the ‘Search Template’ page, where you can start by naming your form. You need to also look for the file upload form template in the search box on the left.

Next, simply click the ‘Use Template’ button under the ‘File Upload Form’ option.

Choose the File Upload form template

You will now be taken to the WPForms builder, where the File Upload Form will be automatically created for you.

You can use the file upload form template without making any changes, or you can also drag and drop form fields from the ‘Add Fields’ sidebar.

File Upload form will now be automatically created for you

Next, click on the ‘File Upload’ field in the form to open up its settings in the left column.

By default, you can upload different types of files in the form, including:

  • Image files: .png, .gif, .jpg
  • Documents: .doc, .xls, .ppt, .pdf
  • Audio: .wav, .mp3, .mp4
  • Video: .mpg, .mov, .wmv

All you have to do is type the file formats that you want to accept into the ‘Allowed File Extensions’ box.

For this tutorial, we are going to allow the image formats .png, .gif, and .jpg. Make sure to separate each file format with a comma.

Type file extension type

Note: WordPress limits the types of files that can be uploaded to the site for WordPress security reasons. You can add additional file types to WordPress if you want to allow users to upload file types that aren’t normally allowed.

You can also set a maximum file size and a maximum number of files. For our tutorial, we are going to allow people to submit up to 3 photos of up to 50MB each.

If you want to prevent people from submitting the form without attaching their file(s), you can toggle on the ‘Required’ switch. This means the form can’t be submitted unless at least 1 file has been uploaded.

Choose file size and the number of files to be uploaded

Next, simply switch to the ‘Advanced’ tab from the top.

By default, the File Upload Field uses a modern format that lets users drag and drop their files.

However, if you have limited space for your form, or you prefer a classic upload field, you can change this. Simply select the ‘Classic’ option from the ‘Style’ dropdown menu.

Tip: The classic upload field only allows one file to be uploaded. If you want users to be able to submit more than one file, you will need to add multiple File Upload Fields to your form.

Choose the Classic option as the form style from the dropdown menu

You can also choose to store the submitted files in the WordPress Media Library by toggling on the ‘Store file in WordPress Media Library’ switch. This makes it easy for you to add the uploaded files to a post or page.

For instance, if we are running a photography competition, then we may want to include the best photos when we announce the winner.

Note: The uploaded files will still be saved in your WordPress database, even if you don’t check this box. They are just stored in a separate folder in your WordPress hosting account.

Toggle the switch to allow the form to store files in the media library

If you want to edit any of the other fields on your form, you can click on them to open the field’s settings in the left column.

You can also add other fields to your File Upload form.

For example, you may want to add a Website/URL field to the form so that users can give you the link to their website.

Save the form after adding additional fields

Once you are happy with your form, click the ‘Save’ button in the top right corner of the screen to store your settings.

Setting Up Your File Upload Form’s Notifications

To change the notification settings for the form, you need to open the ‘Settings’ tab in the left corner. Once you are there, simply click on the ‘Notifications’ tab.

By default, the form sends an email notification to {admin_email}.

If you created your WordPress site by yourself, then this will be your email address. If not, then you can delete {admin_email} and type your own email address here instead.

Change the email address the receives the notifications

If you are not sure if {admin_email} is your email address, simply visit the Settings » General page from your WordPress admin dashboard.

Once you are there, look for the Administration Email Address. You can now change the admin email address from here.

Check the admin email

Once you are done, don’t forget to click the ‘Save Changes’ button to store your settings.

If you want the submitted files to be sent to more than one person, then you may want to see our tutorial on how to create a contact form with multiple notification recipients.

You can also change the confirmation message that users see after the form is submitted.

To do this, you need to visit the Settings » Confirmations page from the left column. Then, simply type the message into the ‘Confirmation Message’ box. You can also add formatting like bold and italics.

Change the confirmation message

Finally, don’t forget to save your form once you have made the changes.

You can exit the form builder by clicking the ‘X’ in the top right.

Adding the File Upload Form to Your Website

Once you have finished creating your form, you will need to add it to your website.

To do this, you must open an existing or new post or page from the WordPress admin sidebar. For this tutorial, we are going to add the File Upload form to a new page.

Once you are there, click on the Add New Block ‘(+)’ button in the top left corner of the screen and find the WPForms block.

Locate and add the WPForms block

Upon adding the block, you will see a WPForms dropdown menu displayed on the page.

Go ahead and select the File Upload form that you just created.

Choose the File Upload form from the dropdown menu

Finally, click the ‘Publish’ or ‘Update’ button to save your changes.

You can now visit your website to see the File Upload form in action.

File upload form preview

You can also make changes to your form anytime by visiting the WPForms » All Forms page from the admin sidebar.

From here, simply click on the name of the form, or hover your mouse over it and click the ‘Edit’ link to open up the form builder.

Edit form

When you edit your form, it will be automatically updated on your website, so you don’t need to add it to your page again.

Tip: It’s a good idea to test your form to make sure it’s working as expected. If you don’t get an email notification after creating a form entry, then you can read our step-by-step guide on fixing the WordPress not sending email issue.

Viewing or Downloading the Uploaded Files

When someone sends a file using your file upload form, you can see it in your email inbox or your WordPress dashboard.

With each form entry, you will get an email like this:

Preview of the email you'll receive when someone fills the form

Just click the links to view or download the files themselves.

You can also easily find the files in your WordPress dashboard. Simply go to the WPForms » Entries page and then click on the name of your form.

Choose the file upload form on the entries page

You can see the uploaded files in the table of form entries.

Alternatively, you can click the ‘View’ link to see the full details for each form entry.

View form entries

We hope this tutorial helped you learn how to create a file upload form in WordPress. You might also want to check out our expert picks for the best WordPress survey plugins and read our guide on how to create an email newsletter.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Create a File Upload Form in WordPress first appeared on WPBeginner.

Rapyd Launches UK-Based Payments Solution

Featured Imgs 23

​Rapyd, a global Fintech as a Service company, today announced the launch of a single, "full-stack," payment solution in the United Kingdom allowing businesses locally and globally to access every major local payment method — such as cash, bank transfers, e-wallets, and cards — through one easy to integrate connection.

WordPress Names 5.5 Release Leads, Plans All-Women Release Squad for 5.6

Featured Imgs 23

WordPress’ Executive Director, Josepha Haden, announced the names of the leaders who will be coordinating releases for the remainder of 2020. Version 5.5, expected to be released in August, will be led by Matt Mullenweg, with Jake Spurlock as the coordinator and David Baumwald on Triage. Haden also named tech and design leads for the editor, media, accessibility, and documentation. This release is set to introduce automatic updates for plugins and themes in core. It will also add the Navigation block and block directory to core.

In November 2019, Haden tweeted that one of her goals was to put together an all-women release squad by the end of 2020, an idea that was well-received by the community. Although WordPress has already had women lead releases, the realization of this idea would be the first time in the project’s 17-year history that the entire squad is composed of women leaders. Haden began recruiting for the team in March.

“My hope is that with a release squad comprised entirely of people who identify as women, we’ll be able to increase the number women who have that experience and (hopefully) become returning contributors to Core and elsewhere,” Haden said in her initial proposal. “This doesn’t mean the release will only contain contributions from women. And if our current squad training process is any indication, it also doesn’t mean that we’re asking a squad to show up and do this without support.”

Last Friday, Haden named 50 women to the upcoming 5.6 all-women release squad, set to land in December 2020. This group includes women who have volunteered to participate, first by joining a “ride along” process for the 5.5 release cycle. Participants will join triage sessions and meetings, as well as collaborate on a 5.5.x point release in preparation for steering 5.6.

The proposed scope for WordPress 5.6 includes opt-in automatic updates for major core releases, full-site editing in core, a new default theme, and more. Squad leaders will be named in a separate kickoff post.

Overlapping Header with CSS Grid

Featured Imgs 23

Snook shows off a classic design with an oversized header up top, and a content area that is “pulled up” into that header area. My mind goes to the same place:

Historically, I’ve done this with negative margins. The header has a height that adds a bunch of padding to the bottom and then the body gets a margin-top: -50px or whatever the design calls for.

If you match the margin and padding with a situation like this, it’s not exactly magic numbers, but it still doesn’t feel great to me beaus they’re still numbers you need to keep in sync across totally different elements.

His idea? Build it with CSS grid instead. Definitely feels much more robust.

Random coinsidence, I was reading Chen Hui Jing’s “The one in black and orange” post and the pattern showed up there as well.

(I ended up doing a video on this).

Direct Link to ArticlePermalink

The post Overlapping Header with CSS Grid appeared first on CSS-Tricks.

WordPress Birthday, Elementor Milestone, Template Kits, PHP and WP Version Checks 🗞️ June 2020 WordPress News w/ CodeinWP

Category Image 091
Hi everyone! The past weeks freed us from our houses and apartments a little bit. We could go out for long walks and some fresh air, respecting the social distancing rules, of course. I think it makes a difference, being able to change scenery even slightly. With a more optimistic view for the rest of the year, let’s review the latest happenings in WordPress!

Global CSS options with custom properties

Featured Imgs 23

With a preprocessor, like Sass, building a logical “do this or don’t” setting is fairly straightforward:

$option: false;

@mixin doThing {
  @if $option {
    do-thing: yep;
  }
}

.el {
  @include doThing;
}

Can we do that in native CSS with custom properties? Mark Otto shows that we can. It’s just a smidge different.

html {
  --component-shadow: 0 .5rem 1rem rgba(0,0,0,.1);
}

.component {
  box-shadow: var(--component-shadow);
}

<!-- override the global anywhere more specific! like
     <div class="component remove-shadow">
     or
     <body class="remove-shadow"> -->
.remove-shadow {
  --component-shadow: none;
}

Direct Link to ArticlePermalink

The post Global CSS options with custom properties appeared first on CSS-Tricks.

Strapi Community Edition Now Generally Available

Featured Imgs 23

Strapi, an open-source headless CMS, has announced the general availability of the Strapi Community Edition. The project has been five years in the making, and the company is excited to see continued growth in the Strapi community now that it's generally available. In a blog post announcement, the Strapi team recapped the journey thus far, which includes over 1 million downloads, over 400 contributors, and almost 5,000 Strapi community projects on GitHub.

A First Look at `aspect-ratio`

Category Image 052

Oh hey! A brand new property that affects how a box is sized! That’s a big deal. There are lots of ways already to make an aspect-ratio sized box (and I’d say this custom properties based solution is the best), but none of them are particularly intuitive and certainly not as straightforward as declaring a single property.

So, with the impending arrival of aspect-ratio (MDN, and not to be confused with the media query version), I thought I’d take a look at how it works and try to wrap my mind around it.

Shout out to Una where I first saw this and boy howdy did it strike interest in folks. Here’s me playing around a little.

Just dropping aspect-ratio on an element alone will calculate a height based on the auto width.

Without setting a width, an element will still have a natural auto width. So the height can be calculated from the Aspect ratio and the rendered width.

.el {
  aspect-ratio: 16 / 9;
}
Demo

If the content breaks out of the Aspect ratio, the element will still expand.

The Aspect ratio becomes ignored in that situation, which is actually nice. That’s why the pseudo-element tactic for Aspect ratios was popular, because it didn’t put us in dangerous data loss or awkward overlap territory when content got too much.

But if you want to constrain the height to the Aspect ratio, you can by adding a min-height: 0;:

Demo

If the element has either a height or width, the other is calculated from the Aspect ratio.

So aspect-ratio is basically a way of setting the other direction when you only have one.

Demo

If the element has both a height and width, aspect-ratio is ignored.

The combination of an explicit height and width is “stronger” than the Aspect ratio.

Factoring in min-* and max-*

There is always a little tension between width, min-width, and max-width (or the height versions). One of them always “wins.” It’s generally pretty intuitive.

If you set width: 100px; and min-width: 200px; then min-width will win. So, min-width is either ignored because you’re already over it, or wins. Same deal with max-width: if you set width: 100px; and max-width: 50px; then max-width will win. So, max-width is either ignored because you’re already under it, or wins.

It looks like that general intuitiveness carries on here: the min-* and max-* properties will either win or are irrelevant. And if they win, they break the aspect-ratio.

.el {
  aspect-ratio: 1 / 4;
  height: 500px;

  /* Ignored, because width is calculated to be 125px */
  /* min-width: 100px; */

  /* Wins, making the Aspect ratio 1 / 2 */
  /* min-width: 250px; */
}

With value functions

Aspect ratios are always most useful in fluid situations, or anytime you essentially don’t know one of the dimensions ahead of time. But even when you don’t know, you’re often putting constraints on things. Say 50% wide is cool, but you only want it to shrink as far as 200px. You might do width: max(50%, 200px);. Or constrain on both sides with clamp(200px, 50%, 400px);.

This seems to work inutitively:

.el {
  aspect-ratio: 4 / 3;
  width: clamp(200px, 50%, 400px);
}

But say you run into that minimum 200px, and then apply a min-width of 300px? The min-width wins. It’s still intuitive, but it gets brain-bending because of how many properties, functions, and values can be involved.

Maybe it’s helpful to think of aspect-ratio as the weakest way to size an element?

It will never beat any other sizing information out, but it will always do its sizing if there is no other information available for that dimension.

The post A First Look at `aspect-ratio` appeared first on CSS-Tricks.

PureCSS Gaze

Featured Imgs 23

Diana Smith with another mind-bending all HTML & CSS painting.

I love that these occupy a special place on the “Should I draw this in CSS?” curve. Things like simple shapes are definitely on the “yes” side of the curve. Then there’s a large valley where things get a little too impractical to draw that way, and using some other image format (e.g. SVG) makes way more sense.

Diana’s work pulls the curve back up to the “yes” side. Not only because it’s proof that CSS can be an amazing expressionistic art tool, but also from a performance standpoint — it’s only 2 KB of HTML and 10 KB of CSS.

Direct Link to ArticlePermalink

The post PureCSS Gaze appeared first on CSS-Tricks.