It depends on your definition of OOTB. JSLink is a feature available OOTB, but involves client-side scripting. If this falls within your realm of possibilities, here's a link explaining how to use JSLink.
What you need to do is:
- Create a JavaScript file and upload it to your master page gallery as a new JavaScript Display Template.
- Specify the Name, Title and Description.
- Set the Target Control Type to View and Standalone to Override.
- Set Target Scope to the url of the website this override applies to.
- Specify the template ID for your list under Target List Template ID. Here is a list of the template ID's, if you don't know them.
- Save and Publish the template.
Simply modify the list view web part where you want this effect, and enter the url to the file in the JSLink option (under Advanced, I believe).
The JavaScript file contents should be the following:
(function() {
var statusFieldCtx = { };
statusFieldCtx.Templates = { };
statusFieldCtx.Templates.Fields = {
Status: {
View: StatusFieldViewTemplate
}
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(
statusFieldCtx
);
})();
function StatusFieldViewTemplate(ctx) {
var _statusValue = ctx.CurrentItem.Status; // Status is the field. Replace with whatever field you have.
if (_statusValue === 'Completed') {
return "<span style='background-color: green;'>" + _statusValue + "</span>";
}
if (_statusValue == 'In Progress') {
return "<span style='background-color: yellow;'>" + _statusValue + "</span>";
}
return "<span style='background-color: red;'>" + _statusValue + "</span>";
}