Related
I am building a vertical timeline as a < ul > with the < li >s as events. This is the intent:
I've customized the bullets easily enough, and I made the vertical line with a background-gradient; the one thing I haven't been able to do is terminate the vertical line at top and bottom.
So far, it looks like this:
My SCSS code:
ul.timeline {
list-style: none;
color: red;
font-size: .8em;
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+5,d8d8d8+6,d8d8d8+7,ffffff+8,ffffff+100 */
background: #ffffff; /* Old browsers */
background: -moz-linear-gradient(left, #ffffff 0%, #ffffff 1px, #d8d8d8 2px, #d8d8d8 3px, #ffffff 4px, #ffffff 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, #ffffff 0%,#ffffff 1px, #d8d8d8 2px, #d8d8d8 3px, #ffffff 4px,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #ffffff 0%,#ffffff 1px, #d8d8d8 2px, #d8d8d8 3px, #ffffff 4px,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 */
background-position: 29px 0;
li {
&::before {
content: "\26AB";
font-size: 1.3em;
color: #d8d8d8;
display: inline-block;
width: 1em;
margin-left: -1em;
vertical-align: middle;
}
a {
color: black;
text-decoration: underline;
}
}
}
My HTML code:
<ul class="timeline">
<li>asd as</li>
<li>werwer we</li>
</ul>
I know I can scrap the whole custom-bullet and background-gradient css and do this with background-images, I was just hoping to find a css-only solution.
You can use pseudo-elements for this, one for circle and other one for the line, and :not(:last-child) so you don't set line on last element.
ul {
list-style: none;
}
li {
position: relative;
padding: 10px;
}
li a {
color: gray;
}
li:before {
content: '';
width: 16px;
height: 16px;
border-radius: 50%;
background: #D8D8D8;
position: absolute;
left: -15px;
top: 50%;
transform: translateY(-40%);
}
li:not(:last-child):after {
content: '';
width: 2px;
height: 100%;
background: #D8D8D8;
position: absolute;
left: -8px;
top: 50%;
}
<ul class="timeline">
<li>asd as</li>
<li>werwer we</li>
<li>werwer we</li>
</ul>
Method using background-gradient...
ul.timeline {
list-style: none;
color: red;
font-size: .8em;
position: relative;
}
.timeline::before {
position: absolute;
content: "";
display: block;
height: 80px;
width: 30px;
top: 6px;
left: 0;
background: radial-gradient(circle, grey 20%, transparent 20%);
background-size: 50px 25px;
}
.timeline::after {
position: absolute;
content: "";
display: block;
top: 8px;
left: 24px;
height: 70px;
width: 1px;
background: grey;
}
.timeline li {
padding: .5em;
}
a {
color: black;
text-decoration: underline;
}
<ul class="timeline">
<li>asd as</li>
<li>werwer we</li>
<li>werwer we</li>
</ul>
I have a semi-round button. But I don't know how to bend it for my semi-round button in it's border.
.semi-circle {
display: inline-block;
padding: 9px 16px;
border-radius: 999px !important;
text-align: center;
/*border: 10px solid transparent;*/
/* -moz-border-image: -moz-linear-gradient(right, #FC913A 0%, #FF4E50 100%);
-webkit-border-image: -webkit-linear-gradient(right, #FC913A 0%, #FF4E50 100%);
border-image: linear-gradient(to left, #FC913A 0%, #FF4E50 100%);*/
/*border-image-slice: 1;*/
border: linear-gradient(to right, green 0%, blue 100%);
/*background-image: linear-gradient(to left, #FC913A 0%, #FF4E50 100%);*/
background-image: -o-linear-gradient(to left, #FC913A 0%, #FF4E50 100%);*/
background-image: -moz-linear-gradient(to left, #FC913A 0%, #FF4E50 100%);*/
background-image: -webkit-linear-gradient(to left, #FC913A 0%, #FF4E50 100%);*/
background-image: -ms-linear-gradient(to left, #FC913A 0%, #FF4E50 100%);*/
*/
}
Forgive me for not being able to embed the image because of lack of reputation. Thx for the stack overflow community for its great service.
Here is solution. It works fine in webkit. In other browsers text color is solid.
HTML
<button data-text="Round button"></button>
<button class="active" data-text="Active round button"></button>
CSS
body {
background: #384041;
}
*,
*:before,
*:after {
box-sizing: border-box;
}
button {
display: inline-block;
border: none;
outline: none;
appearance: none;
background: red;
position: relative;
z-index: 3;
height: 60px;
border-radius: 30px;
padding: 0 21px;
font-size: 21px;
box-shadow: -1px -1px 1px 0 black;
background: #4f4f4f;
}
button:before {
content: attr(data-text);
min-width: 144px;
z-index: -1;
border-radius: 27px;
color: #4f4f4f;
}
#media screen and (-webkit-min-device-pixel-ratio:0) { button:before {
background: #4f4f4f;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}}
button:after {
content: '';
position: absolute;
left: 3px;
right: 3px;
top: 3px;
bottom: 3px;
z-index: -2;
border-radius: 30px;
background: #151515;
}
button:hover {
cursor: pointer;
background: linear-gradient(to right, #2084c3 0%, #00caa0 100%);
}
.active {
background: linear-gradient(to right, #2084c3 0%, #00caa0 100%);
}
.active:before{
color: #2084c3;
}
#media screen and (-webkit-min-device-pixel-ratio:0) { .active:before {
background: linear-gradient(to right, #2084c3 0%, #00caa0 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}}
Demo
There are probably better ways to do this, but without further thinking I'd try something like this:
<style type="text/css">
.semi_outer {
padding: 2px;
text-align: center;
border-radius: 11px;
background: linear-gradient(to right, #0f0, #00f);
}
.semi_inner {
margin: 2px;
border-radius: 7px;
background-color: #000;
color: #0f0;
}
.semi_outer:hover {
background: linear-gradient(to right, #c00, #0c0);
}
.semi_outer:active {
background: linear-gradient(to right, #f00, #0f0);
}
</style>
<div class="semi_outer">
<div class="semi_inner">
semi_inner
</div>
</div>
This is your semi-round button . may be it will be helpfull for you.
.outer {
padding: 2px;
text-align: center;
border-radius: 11px;
background: linear-gradient(to right, #0f0, #00f);
width: 200px;
height:30px;
}
.inner {
margin: 3px;
border-radius: 7px;
background-color: #000;
color: #0f0;
height:25px;
}
.outer:hover {
background: linear-gradient(to right, #c00, #0c0);
}
.outer:active {
background: linear-gradient(to right, #f00, #0f0);
}
<div class="outer">
<div class="inner">
BUTTON
</div>
</div>
I have a centered page layout for a website I'm designing, and I've used Ryan Fait's CSS Sticky Footer, but I just can't seem to extend my content div tag (div#container in the code below) down to the footer.
Here's my HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>MathExplained.com</title>
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
<link rel="icon" type="image/ico" href="https://www.iconfinder.com/icons/21328/download/png/24">
</head>
<body>
<div class="wrapper">
<div id="headerbar"><div id="header">
<h1>MathExplained.com</h1>
<div id="nav">
<ul>
<li>Contact</li>
<li>Archives</li>
<li>About</li>
</ul>
</div>
</div></div>
<img id="header-underline" src="files/header-underline.png" alt="" />
<div id="container">
<div id="contentmargin">
<div class="post">
<h2>What Pi Really Means</h2>
<h3>5th September 2013</h3>
<div class="post-content">
<iframe src="https://www.youtube.com/embed/yJ-HwrOpIps" allowfullscreen></iframe>
<p>Lorem ipsum dolor sit amet</p>
</div>
</div>
</div>
</div>
<div class="push"></div>
</div>
<div class="footer">
Designed by Riley Wheb <br />
WhebDesigns 2013
</div>
</body>
</html>
...And my CSS (here be dragons):
* {
margin: 0;
}
html,body {
height: 100%;
}
body {
background: url('files/bg2.gif');
display: block;
font-family: Tahoma, Geneva, sans-serif;
margin: 0;
padding: 0;
}
.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -35px; /* the bottom margin is the negative value of the footer's height */
}
div#headerbar {
background: rgba(73,155,234,1);
background: -moz-linear-gradient(top, rgba(73,155,234,1) 0%, rgba(32,124,229,1) 100%);
background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(73,155,234,1)), color-stop(100%, rgba(32,124,229,1)));
background: -webkit-linear-gradient(top, rgba(73,155,234,1) 0%, rgba(32,124,229,1) 100%);
background: -o-linear-gradient(top, rgba(73,155,234,1) 0%, rgba(32,124,229,1) 100%);
background: -ms-linear-gradient(top, rgba(73,155,234,1) 0%, rgba(32,124,229,1) 100%);
background: linear-gradient(to bottom, rgba(73,155,234,1) 0%, rgba(32,124,229,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#499bea', endColorstr='#207ce5', GradientType=0 );
margin: 0;
padding: 0;
}
div#header {
display: block;
height: 38px;
margin: 0 auto;
overflow: hidden;
padding: 0;
width: 750px;
}
div#header > h1 {
float: left;
margin: 0;
padding: 0;
position: relative; top: -2px;
}
div#header > h1 > a:link, div#header > h1 > a:visited {
color: white;
font: 28px/35px "Lucida Console", monospace;
text-decoration: none;
text-shadow: -1px -1px 0 gray;
vertical-align: middle;
}
div#header > h1 > a:hover, div#header > h1 > a:active {
}
div#nav {
float: right;
margin: 0;
padding: 0;
}
div#nav > ul {
height: 100%;
list-style-type: none;
margin: 0;
overflow: hidden;
padding: 0;
}
div#nav > ul > li {
float: right;
height: 100%;
margin: 0;
padding: 0;
text-align: center;
width: 150px;
}
div#nav > ul > li > a:link, div#nav > ul > li > a:visited {
color: white;
display: block;
font: 16px Verdana,sans-serif;
height: 100%;
margin: 0 25px;
padding: 10px 0;
text-decoration: none;
text-shadow: -1px -1px 0 gray;
}
div#nav > ul > li > a:hover, div#nav > ul > li > a:active {
background: -moz-linear-gradient(top, rgba(255,255,255,0.25) 0%, rgba(255,255,255,0.25) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.25)), color-stop(100%,rgba(255,255,255,0.25))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(255,255,255,0.25) 0%,rgba(255,255,255,0.25) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(255,255,255,0.25) 0%,rgba(255,255,255,0.25) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(255,255,255,0.25) 0%,rgba(255,255,255,0.25) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(255,255,255,0.25) 0%,rgba(255,255,255,0.25) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#40ffffff', endColorstr='#40ffffff',GradientType=0 ); /* IE6-9 */
}
img#header-underline {
padding: 0; margin: 0;
position: absolute;
top: 38px;
height: 4px;
}
div#container {
background: rgb(255,255,255); /* Old browsers */
background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(229,229,229,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(229,229,229,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(229,229,229,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(229,229,229,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(229,229,229,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(229,229,229,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */
border: 3px solid #D6D6D6;
display: block;
height: 100%;
margin: 0 auto;
width: 800px;
}
div#contentmargin {
padding: 20px 25px;
}
div.post {
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
border: 1px solid #BDBDBD;
position: relative;
margin: 0 0 60px 0;
padding: 0 10px 20px 10px;
overflow: hidden;
}
div.post > h2 {
font: italic 24px/26px "Lucida Grande", "Lucida Sans Unicode", Helvetica, Sans-Serif;
letter-spacing: normal;
margin: 15px 0 0 0; padding: 0;
}
div.post > div.post-content {
clear: both;
}
div.post > div.post-content > p {
font: 12px "Lucida Grande", "Lucida Sans Unicode", Helvetica, Sans-Serif;
padding: 5px 0;
}
div.post > h3 {
font: italic 12px/14px "Lucida Grande", "Lucida Sans Unicode", Helvetica, Sans-Serif;
margin: 0 0 10px 0; padding: 0;
}
iframe {
width: 726px;
height: 416px;
border: 1px inset #BDBDBD;
}
.footer, .push {
height: 35px; /* '.push' must be the same height as 'footer' */
}
div.footer {
background: rgba(0,0,0,0.8);
border-top: 2px solid black;
color: gray;
font: 12px "Lucida Grande", "Lucida Sans Unicode", Helvetica, Sans-Serif;
text-align: center;
padding: 10px 0;
}
Here's a screenshot of what it looks like now.
And here's what I would like to achieve.
The .wrapper has height: auto !important; and also 100%. The 100% will be ignored and only the !important will be used.
Delete the auto !important height of the .wrapper element and adjust the footer css. You need to pay attention at the .wrapper margin too!
change the css:
div#contentmargin {
padding: 20px 25px;
height:100%
}
.wrapper {
height: 100%;
}
Have you considered using the <header>, <main> and <footer> tags instead of your current divs? They will automatically scale and fill 100% of your screen.
I'm running into a problem.
I know this is probably a noob mistake but bear with me.
I'm making two top bar menus at the top, I can place them using absolute positioning and top, however when the browser size changes it makes the top bar look messed up.
Is there a way to place these without using absolute position and top?
This is what I currently have:
THE HTML
<div id="nav">
<div class="logo"><h1>Health Numeric ©</h1>Live a Something Life</div>
<div style="display:inline-block">
<ul>
<li><img class="icons" src="img/icons/dashboard.png" />Dashboard</li>
<li><img class="icons" src="img/icons/patient.png" />Patients</li>
<li><img class="icons" src="img/icons/devices.png" />Devices</li>
<li><img class="icons" src="img/icons/account.png" />Account</li>
<li><img class="icons" src="img/icons/support.png" />Support</li>
</ul>
</div>
<div class="end"><strong>LifeView</strong> Portal</div>
</div>
<div id="subnav">
<span class="clientname">Patient: Brian Town</span>
</div>
<div id="bod">
<h1> test</h1>
</div>
The CSS
#nav h1 {
font: Verdana, Geneva, sans-serif;
font-size: 24px;
margin-bottom: 2px;
}
.logo {
width: 190px;
margin: auto 80px auto 50px;
display: inline-block;
vertical-align: top;
}
#nav {
position: fixed;
/*height: 65px;*/
width: 100%;
float: left;
left: 0px;
top: 0px;
margin: 0px;
padding: 0px;
color: #FFFFFF;
/* IE10 Consumer Preview */
background-image: -ms-linear-gradient(top, #0389FF 0%, #000000 100%);
/* Mozilla Firefox */
background-image: -moz-linear-gradient(top, #0389FF 0%, #000000 100%);
/* Opera */
background-image: -o-linear-gradient(top, #0389FF 0%, #000000 100%);
/* Webkit (Safari/Chrome 10) */
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #0389FF), color-stop(1, #000000));
/* Webkit (Chrome 11+) */
background-image: -webkit-linear-gradient(top, #0389FF 0%, #000000 100%);
/* W3C Markup, IE10 Release Preview */
background-image: linear-gradient(to bottom, #0389FF 0%, #000000 100%);
}
#nav ul {
list-style: none;
width: 450px;
margin: 0 auto;
padding: 0;
}
#nav li {
float: left;
}
#nav li a {
display: inline-block;
padding: 8px 15px;
text-decoration: none;
font-weight: bold;
color: #FFF;
border-right: 1px solid #ccc;
}
#nav li:first-child a {
border-left: 1px solid #ccc;
}
#nav li a:hover {
color: #23afff;
}
.end {
width: 200px;
margin: 10px auto auto 50px;
display: inline-block;
word-spacing: 20px;
vertical-align: top;
}
strong {
font: Verdana, Geneva, sans-serif;
font-size: 36px;
margin-bottom: 2px;
}
.icons {
display: block;
margin-left: auto;
margin-right: auto;
margin-bottom: 1px;
height: 35px;
width: 35px;
}
#subnav {
position: fixed;
overflow:hidden;
height: 20px;
width: 100%;
float: left;
left: 0px;
/*top: 65px;*/
margin: 0px;
padding: 0px;
border: 1px solid #333;
border-bottom: 1px solid #ccc;
color: #000000;
/* IE10 Consumer Preview */
background-image: -ms-linear-gradient(top, #666666 0%, #FFFFFF 100%);
/* Mozilla Firefox */
background-image: -moz-linear-gradient(top, #666666 0%, #FFFFFF 100%);
/* Opera */
background-image: -o-linear-gradient(top, #666666 0%, #FFFFFF 100%);
/* Webkit (Safari/Chrome 10) */
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #666666), color-stop(1, #FFFFFF));
/* Webkit (Chrome 11+) */
background-image: -webkit-linear-gradient(top, #666666 0%, #FFFFFF 100%);
/* W3C Markup, IE10 Release Preview */
background-image: linear-gradient(to bottom, #666666 0%, #FFFFFF 100%);
}
.clientname {
float: right;
margin-right: 120px;
color: #000000;
font-weight: bold;
}
#bod {
position: absolute;
width: 100%;
float: left;
left: 0px;
top: 85px;
margin: 0px;
padding: 0px;
color: #000000;
}
Here is a JSfiddle: http://jsfiddle.net/Artsen/HYZLR/
Thanks
I am using "lightview" to show images in my website, the problem is that the image to much low, so I can see less than 50% of the photo
I that when I set Height to object in css, the image is lower
Here is my CSS code:
/****HTML Tags****/
body {
margin: 0;
padding: 0;
text-align: right;
direction: rtl;
font-family: Arial, Arial Hebrew, Helvetica, sans-serif;
}
::selection {
background: #BFBFBF;
}
header {
background-image: url('../g.png');
position: relative;
width: 100%;
background-repeat: no-repeat;
}
h1 {
font-family: Tahoma, Geneva, sans-serif;
text-decoration: underline;
color: #3852A4;
padding-bottom: 20px;
font-size: x-large;
}
/****General****/
.content {
width: 900px;
position: relative;
padding: 0px;
margin: 0 auto;
}
.main {
padding-right: 15px;
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U1ZTVlNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMCIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top, rgba(229,229,229,1) 0%, rgba(255,255,255,0) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(229,229,229,1)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(229,229,229,1) 0%,rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(229,229,229,1) 0%,rgba(255,255,255,0) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(229,229,229,1) 0%,rgba(255,255,255,0) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(229,229,229,1) 0%,rgba(255,255,255,0) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e5e5e5', endColorstr='#00ffffff',GradientType=0 ); /* IE6-8 */
background-size: Auto 200px;
background-repeat: repeat-x;
}
.details {
padding-bottom: 15px;
}
.details div {
margin-top: 10px;
}
#author {
font-weight: bold;
font-size: 16px;
}
#date {
font-size: 14px;
font-weight: bold;
}
/**Track Properties***/
#area {
font-size: 14px;
}
.track {
position: relative;
padding: 0px;
margin: 0 auto;
width: 980px;
width: 100%;
}
.trackdetails {
position: relative;
top: -51px;
line-height: 25px;
border-right: 2px solid #9e9e9e;
padding-right: 25px;
padding-bottom: 15px;
font-size: 14px;
margin: 0;
left: 50px;
width: 250px;
float: left;
}
.title {
color: #3852A4;
font-size: large;
text-decoration: underline;
font-family: Tahoma, Geneva, sans-serif;
margin-bottom: 20px;
}
.trackdetails #content {
z-index: 1111;
}
#map-image {
display: inline-block;
padding-top:-50px;
}
#trackdescription {
text-align: justify;
max-width: 650px;
width: 500px;
float: right;
padding-bottom:100px;
}
How can I fix this?
Qish for help.. thanks!
Here is live example: http://lawb.co.il/test.html
Try top: 10% !important; or margin-top: -n; n = image box height / 2 :P n isn't a css property :)