what it looks enter image description here
what it should look like enter image description here
Cant use contenteditable for a reason
like
<input
type="text"
elementStyle="h1"
/>
CodePudding user response:
If you are trying to use only HTML and CSS to style your input, there is no attribute to set the element style to h1. As found here, most browsers will display the <h1> element with the following default values:
h1 {
display: block;
font-size: 2em;
margin-top: 0.67em;
margin-bottom: 0.67em;
margin-left: 0;
margin-right: 0;
font-weight: bold;
}
Hardcoding the properties to your <input>, you can achieve h1 style input.
input {
margin: 100px;
border: none;
color: grey;
/*h1 properties*/
display: block;
font-size: 2em;
margin-top: 0.67em;
margin-bottom: 0.67em;
margin-left: 0;
margin-right: 0;
font-weight: bold;
}
/*no border even when clicked*/
input:focus {
outline: none;
}
CodePudding user response:
I have a better option
copyNodeStyle.js
export default function copyNodeStyle(sourceNode, targetNode) {
var computedStyle = window.getComputedStyle(
document.querySelector(sourceNode)
);
console.log(computedStyle);
Array.from(computedStyle).forEach(function (key) {
return targetNode.style.setProperty(
key,
computedStyle.getPropertyValue(key),
computedStyle.getPropertyPriority(key)
);
});
}
AddPost.js
useEffect(() => {
copyNodeStyle("h1", document.querySelector(".addPostTitleInputToH1"));
});
CodePudding user response:
You need to change the width and height or/and font-size value's of your input like so:
<input style="width:100%; height:30px; font-size:30px" type='text' name='name'/>
It is not possible to give it a h1 style but doing it this way also gives way more control! :)
CodePudding user response:
You can do that by adding h1 CSS style to your input...
input {
border: none;
font-size: 2em;
margin: 0.67em 0;
font-weight: bold;
}
<input type="text" placeholder="Add title" />
