- outline | CSS
- Особенности outline
- Примеры
- Как убрать обводку/рамку с input, textarea, ссылки a
- При фокусе на input остальное пространство темнеет, становится менее выражено
- CSS полупрозрачная рамка вокруг картинки
- CSS Forms
- Styling Input Fields
- Example
- Padded Inputs
- Example
- Bordered Inputs
- Example
- Example
- Colored Inputs
- Example
- Focused Inputs
- Example
- Example
- Input with icon/image
- Example
- Animated Search Input
- Example
- Styling Textareas
- Example
- Styling Select Menus
- Example
- Styling Input Buttons
- Example
- Responsive Form
- Aligned Form
- How to Remove and Style the Border Around Text Input Boxes in Google Chrome
- Example of styling the border around the text input boxes with the :focus and :active pseudo-classes:
- Example of removing input highlighting:
- How to remove outline around text input boxes in chrome using CSS?
- Using CSS outline property
- Example: Removing focused outline from the text box
- Output
- Example: Remove the outline from the input text box, textarea, and select box
- Conclusion
- outline
- Try it
- Constituent properties
- Syntax
- Values
- Description
- Accessibility concerns
- Formal definition
outline | CSS
Свойство outline (w3.org) — контур (не путать с контуром букв text-shadow). Очень похож на border.
? положительное число в любых единицах измерениях, но не в процентах
thin
medium
thick
? положительное или отрицательное число в любых единицах измерениях, но не в процентах
содержимое блока
Особенности outline
Ⅰ. outline не увеличивает коробку элемента
. наведите на outline.
Ⅱ. при переносе строк
получается такой вот контур
интереснее всего выглядящий в IE
при переносе строк
получается такой вот контур
интереснее всего выглядящий в IE
Ⅲ. если у дочернего блока (потомка) position: static; или z-index ниже либо равен значению родителя, то outline родителя перекрывает его:
Ⅳ. outline ложиться и поверх нижестоящего/вышестоящего в коде элемента. Искл. при работе со свойством position и с overflow родителя.
наведите на outlineследующий
Примеры
Как убрать обводку/рамку с input, textarea, ссылки a
У некоторых тегов HTML outline присутствует по умолчанию.
Нажмите на эту ссылку и вернитесь обратно. Она в Firefox приобрела такой вид. Очень удобно. Для того, чтобы удалить обводку
Поставьте курсор на поле . В Chrome оно теперь выделено (подсвечено) примерно так . Дабы избавиться от этой рамки
При фокусе на input остальное пространство темнеет, становится менее выражено
наведите на outlineследующий
CSS полупрозрачная рамка вокруг картинки
Самый простой способ на края изображения наложить полупрозрачный фон
CSS Forms
The look of an HTML form can be greatly improved with CSS:
Styling Input Fields
Use the width property to determine the width of the input field:
Example
The example above applies to all elements. If you only want to style a specific input type, you can use attribute selectors:
- input[type=text] — will only select text fields
- input[type=password] — will only select password fields
- input[type=number] — will only select number fields
- etc..
Padded Inputs
Use the padding property to add space inside the text field.
Tip: When you have many inputs after each other, you might also want to add some margin , to add more space outside of them:
Example
Note that we have set the box-sizing property to border-box . This makes sure that the padding and eventually borders are included in the total width and height of the elements.
Read more about the box-sizing property in our CSS Box Sizing chapter.
Bordered Inputs
Use the border property to change the border size and color, and use the border-radius property to add rounded corners:
Example
If you only want a bottom border, use the border-bottom property:
Example
Colored Inputs
Use the background-color property to add a background color to the input, and the color property to change the text color:
Example
Focused Inputs
By default, some browsers will add a blue outline around the input when it gets focus (clicked on). You can remove this behavior by adding outline: none; to the input.
Use the :focus selector to do something with the input field when it gets focus:
Example
Example
Input with icon/image
If you want an icon inside the input, use the background-image property and position it with the background-position property. Also notice that we add a large left padding to reserve the space of the icon:
Example
input[type=text] <
background-color: white;
background-image: url(‘searchicon.png’);
background-position: 10px 10px;
background-repeat: no-repeat;
padding-left: 40px;
>
Animated Search Input
In this example we use the CSS transition property to animate the width of the search input when it gets focus. You will learn more about the transition property later, in our CSS Transitions chapter.
Example
input[type=text] <
transition: width 0.4s ease-in-out;
>
input[type=text]:focus width: 100%;
>
Styling Textareas
Tip: Use the resize property to prevent textareas from being resized (disable the «grabber» in the bottom right corner):
Example
textarea <
width: 100%;
height: 150px;
padding: 12px 20px;
box-sizing: border-box;
border: 2px solid #ccc;
border-radius: 4px;
background-color: #f8f8f8;
resize: none;
>
Styling Select Menus
Example
select <
width: 100%;
padding: 16px 20px;
border: none;
border-radius: 4px;
background-color: #f1f1f1;
>
Styling Input Buttons
Example
input[type=button], input[type=submit], input[type=reset] <
background-color: #04AA6D;
border: none;
color: white;
padding: 16px 32px;
text-decoration: none;
margin: 4px 2px;
cursor: pointer;
>
/* Tip: use width: 100% for full-width buttons */
For more information about how to style buttons with CSS, read our CSS Buttons Tutorial.
Responsive Form
Resize the browser window to see the effect. When the screen is less than 600px wide, make the two columns stack on top of each other instead of next to each other.
Advanced: The following example uses media queries to create a responsive form. You will learn more about this in a later chapter.
Aligned Form
An example of how to style labels together with inputs to create a horizontal aligned form:
How to Remove and Style the Border Around Text Input Boxes in Google Chrome
So, in the example above, it is much more difficult for the user to fill the form when they don’t clearly see which input field is active at the moment.
That’s why it is recommended to remove the default outline and add your preferred style to the box to indicate that it is active when clicking on it.
Remove the outline and add a border style using the :focus and :active pseudo-classes with the field. Also, you can remove the default borders on certain sides by setting them to «transparent».
Example of styling the border around the text input boxes with the :focus and :active pseudo-classes:
html> html> head> title>Title of the document title> style> input < padding: 5px; margin: 5px 0; outline: none; > input:focus, input:active < border-color: transparent; border-bottom: 2px solid #1c87c9; > style> head> body> form> label for="myOutline">Click the input below to see how the styled outline appears. label> br> input type="text" id="myOutline" placeholder="Enter Something" /> form> body> html>
See another example where the outline: none; is set for , and fields.
Example of removing input highlighting:
html> html> head> title>Title of the document title> style> input, textarea < padding: 5px; > span < display: block; padding: 15px 0 3px; > input:focus, textarea:focus, select:focus < outline: none; > style> head> body> h3>Removed Input Highlighting for input, textarea and select form fields h3> form> span>An input field: span> input type="text"> span>A textarea field: span> textarea> textarea> span>A select field: span> select> option>Select option> option>Select option> select> form> body> html>
Note that the «outline» property is important for accessibility because it indicates to users who navigate using the keyboard where the focus is. If you remove it completely, it may make your website less accessible. If you do decide to style the outline, make sure it is still visible and meets accessibility guidelines.
How to remove outline around text input boxes in chrome using CSS?
The text input boxes in chrome are highlighted with colors on focus. This highlighted focus outline can be removed using CSS. In this tutorial, we will be learning about the CSS properties to remove input text box outline in chrome.
Using CSS outline property
The CSS outline property can be used to remove the outline from the text input boxes. Use focus class with outline:none property to the text input box to remove outline in chrome browser.
Example: Removing focused outline from the text box
Here is the example for removing the highlighted outline from the text input box in chrome.
.no-outline:focus Default text box
Textbox with no-outline
Output
Here is the output of the above program.
Example: Remove the outline from the input text box, textarea, and select box
Not only input text box but we can remove the outline from select box and textarea as well. We will use the same property for them too.
Conclusion
We can remove the outline of the input text field using the CSS outline property. This outline property can be used to textarea as well as a select box to remove the outline.
outline
The outline CSS shorthand property sets most of the outline properties in a single declaration.
Try it
Constituent properties
This property is a shorthand for the following CSS properties:
Syntax
/* style */ outline: solid; /* color | style */ outline: #f66 dashed; /* style | width */ outline: inset thick; /* color | style | width */ outline: green solid 3px; /* Global values */ outline: inherit; outline: initial; outline: revert; outline: revert-layer; outline: unset;
The outline property may be specified using one, two, or three of the values listed below. The order of the values does not matter. As with all shorthand properties, any omitted sub-values will be set to their initial value.
Note: The outline will be invisible for many elements if its style is not defined. This is because the style defaults to none . A notable exception is input elements, which are given default styling by browsers.
Values
Sets the color of the outline. Defaults to invert for browsers supporting it, currentcolor for the others. See outline-color .
Sets the style of the outline. Defaults to none if absent. See outline-style .
Sets the thickness of the outline. Defaults to medium if absent. See outline-width .
Description
Outline is a line outside of the element’s border. Unlike other areas of the box, outlines don’t take up space, so they don’t affect the layout of the document in any way.
There are a few properties that affect an outline’s appearance. It is possible to change the style, color, and width using the outline property, the distance from the border using the outline-offset property, and corner angles using the border-radius property.
An outline is not required to be rectangular: While dealing with multiline text, some browsers will draw an outline for each line box separately, while others will wrap the whole text with a single outline.
Accessibility concerns
Assigning outline a value of 0 or none will remove the browser’s default focus style. If an element can be interacted with it must have a visible focus indicator. Provide obvious focus styling if the default focus style is removed.
Formal definition
- outline-color : invert , for browsers supporting it, currentColor for the other
- outline-style : none
- outline-width : medium
- outline-color : For the keyword invert , the computed value is invert . For the color value, if the value is translucent, the computed value will be the rgba() corresponding one. If it isn’t, it will be the rgb() corresponding one. The transparent keyword maps to rgba(0,0,0,0) .
- outline-width : an absolute length; if the keyword none is specified, the computed value is 0
- outline-style : as specified
- outline-color : a color
- outline-width : a length
- outline-style : by computed value type