In the pop up drop down which opens up when typing starts on a html form. How can I capitalise all characters in each line of the list shown which reveals the previously entered values?
The following only make the first letter upper case.
input#plate {
text-transform: uppercase;
}
::-webkit-input-placeholder { /* WebKit browsers */
text-transform: none;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
text-transform: none;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
text-transform: none;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
text-transform: none;
}
<input type="text" id="plate" autocapitalize="characters" placeholder="Enter Plate">
edit
Changing the none in the css to uppercase did not do it either.
The autofill drop-down list is a part of the browser user interface itself, so unfortunately its appearance can’t be modified. In this respect, it’s like a context menu.
The ::placeholder pseudo-element can be used to style a placeholder text, like the one in the Stack Overflow’s search field (Search Q&A) in the page header.
Related
This question already has answers here:
Change a HTML5 input's placeholder color with CSS
(43 answers)
Closed 2 years ago.
As per an answer to a stackoverflow question. I added a placeholder to html select element.
<option value="" selected disabled hidden><strong style="color:white">Choose here</strong></option>
Now the problem is, I want to change the color of placeholder text to white as my background is gray. It's not accepting any styling.
You can use ::placeholder pseudo in CSS, like this example:
::placeholder { color: #fff; }
If you want a cross-browser solution, you can use prefixes:
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
color: #fff;
}
::-moz-placeholder { /* Firefox 19+ */
color: #fff;
}
:-ms-input-placeholder { /* IE 10+ */
color: #fff;
}
:-moz-placeholder { /* Firefox 18- */
color: #fff;
}
The ::placeholder selector only selects the placeholder text inside your input, besides that, you can style the input itself when it is showing the placeholder using :placeholder-show.
Also, be aware that Firefox might show placeholder text lighter than it is supposed to display. to fix the issue you can use:
::-moz-placeholder {
opacity: 1;
}
is it googles material design ?
if its google material design i find that this answer is your solution i dont want to take credit of someone else afford so there is the link click here
if its not material design anyway did you try this?
::placeholder {
color: white;
}
its called pseudo\elements
you can read abut them here
the example that i wrote is taken from here
CSS
input[type=text] {font-size:1.5em;}
HTML
<input type="text" placeholder="some text">
The CSS code makes 1.5em size for data, which is entered in the text box. But this code also changes size of placeholder text. How to prevent CSS from changing placeholder text's size?
I want CSS to, only change size of original data, which entered by my website visitors.
Reset the values with ::placeholder pseudo
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
font-size: 0.5em;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
font-size: 0.5em;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
font-size: 0.5em;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
font-size: 0.5em;
}
::-ms-input-placeholder { /* Microsoft Edge */
font-size: 0.5em;
}
<input type="text" placeholder="some text">
Credits: Change an HTML5 input's placeholder color with CSS
text-transform: capitalize does not work in this case because the text is already uppercase.
<select>
<option>
OPTION
</option>
</select>
This did not work either.
select{
-webkit-appearance: none;
text-transform: lowercase;
display: inline;
}
select option::first-letter{
text-transform: uppercase;
}
It should work on Chrome (at least) using CSS (and not JS).
In Chrome and Firefox, you can style an option element if its select has a size greater than 1.
You can exploit this as follows:
select {
height: 1.4em; /* show only one option when not focused */
}
select:focus {
height: 100%; /* show all options when focused */
}
option {
text-transform: lowercase; /* change to lowercase */
padding-right: 2em; /* the select's width is based on width of its longest non-transformed ... */
/* option. padding ensures that option is completely visible */
display: none; /* hide all options by default (see below) */
}
option::first-letter {
text-transform: uppercase; /* change first letter to uppercase */
}
option:checked, select:focus option {
display: block; /* show selected option, or show all options when the select is focused */
}
<select size="4">
<option selected>NOW IS THE TIME</option>
<option>for all good men</option>
<option>tO Come To tHe aid</option>
<option>of the party</option>
</select>
It won't quite act like a normal select box, and Chrome has a strange behavior in that the selected option will have a gray background. Can't figure out how to prevent that.
On wiki page of text-angular github project, it says:
https://github.com/fraywing/textAngular/wiki/Styling-the-Editor
I tried with this code:
<div text-angular="text-angular" ta-toolbar="[]" ng-model="message"
placeholder="<div class='placeholder'>Write Coment...</div>"></div>
But the screen will show as:
placeholder show as raw html
I tried the following after taking a look at this website: https://css-tricks.com/almanac/selectors/p/placeholder/
::-webkit-input-placeholder { color: red; }
It still didn't work. How can I give custom styles to my input placeholder?
placeholders should be used with input elements and not on divs. You'd probably have to change your div tags to inputs.
You had the right idea about styling a placeholder, but you may need to adjust the vendor prefixes depending on your browser
Chrome, Safari, Opera, Edge): ::-webkit-input-placeholder
Firefox 4 through 18: :-moz-placeholder (Only one colon)
Firefox 19+: ::-moz-placeholder (two colons)
IE 10 and IE 11 :-ms-input-placeholder
/* Chrome, Safari, Opera and Edge */
::-webkit-input-placeholder { color: red; }
/* Firefox 4 through 18 */
:-moz-input-placeholder { color: red; }
/* Firefox 19+ */
::-moz-input-placeholder { color: red; }
/* IE10 and IE11 */
:-ms-input-placeholder { color: red; }
<input placeholder="Content here" />
Another thing you could try is to attach a contenteditable property to your div which will make it behave kind of like an input element. You can then set a data property to simulate the behavior of a placeholder.
Use the before pseudo selector which will target the div only when it's empty and not focused on.
[contenteditable=true]:empty:not(:focus):before{
content:attr(data-text);
color: red;
}
div {
border: 1px solid black;
}
<div contenteditable="true" data-text="Enter text here"></div>
I found a way myself.. To let the Answer part standing out to other similar questions, I choose to post answer here instead of editing original question.
Use .placeholder-text class. It's not a customized class but it's the temporary class used by text-angular when it is displaying placeholder.
.ta-bind {
&.placeholder-text {
color: red;
}
&:not(.placeholder-text) {
color: black;
}
}
( Example is in scss, remember to covert if you are using css)
I have your basic input with a placeholder. I have the placeholder text color as a light gray. However, when I click inside the input and type something, the color stays the same. Is there a way I can change the color of the text when something is type and when it is not typed?
<input type="text" placeholder="Your Name">
Unfortunately there is no native way just yet to do this that covers all the browsers. You can use vendor specific css rules however as seen in this jsfiddle.
::-webkit-input-placeholder {
color: red;
}
:-moz-placeholder { /* Firefox 18- */
color: red;
}
::-moz-placeholder { /* Firefox 19+ */
color: red;
}
:-ms-input-placeholder {
color: red;
}